日期:2014-05-16  浏览次数:20854 次

weibo4j中用到的mysql2bean的java工具

这是JAVANIU作者根据网友的代码改写的。整理一下,发表上来。

原文下载地址:点击打开链接

由于时间紧迫,对代码质量没有做过多要求,大家有需要的也可以改写下。

主要是这块的逻辑。

String sql = "show tables";
    ResultSet rs = DBManager.query(conn, sql);
    try {
        List<String> tablenames = new ArrayList<String>();
        while (rs.next()) {
            String tablename = rs.getString(1);
            // 生成module
            parseTableByShowCreateModule(conn, tablename, packname,
                    outputdir);
            // 生成repository
            parseTableByShowCreateRepository(conn, tablename, packname,
                    outputdir);
            // 生成service
            parseTableByShowCreateService(conn, tablename, packname,
                    outputdir);
            // 生成serviceimpl
            parseTableByShowCreateServiceImpl(conn, tablename, packname,
                    outputdir);

            // 生成controller
            parseTableByShowCreateController(conn, tablename, packname,
                    outputdir);
            tablenames.add(tablename);
        }

        // 生成basecontroller
        parseTableByShowCreateBaseController(conn, tablenames, packname,
                outputdir);
        DBManager.close(conn, null, rs);
    } catch (SQLException e) {
        e.printStackTrace();
    }

DBManager.java

package com.javaniu;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

//本类专门用来连接数据库,可以作为固定的工具类使用(记下来即可)
public class DBManager {
	// 定义一个静态的连接对象用来连接数据库
	// private static Connection conn = null;
	// 定一个静态的语句对象,用来执行sql语句
	// private static Statement stmt = null;
	// 定义一个静态的结果集对象用来存放执行sql语句后查询得到的结果
	// private static ResultSet rs = null;

	/**
	 * 连接数据库的方法
	 * 
	 * @return conn 返回一个连接对象
	 */
	public static Connection mssql(String url, String user, String pass) {
		Connection conn = null;
		try {
			// 1、加载连接驱动
			// "jdbc:odbc:bookdemo"
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			// 2、连接到数据库(获得连接对象)
			// 通过连接管理器(DriverManager)类的一个方法来获得连接对象,里面的参数表示我们连接到数据源bookdemo
			conn = DriverManager.getConnection(url, user, pass);
		} catch (ClassNotFoundException e) {
			// 以堆栈的方式将错误信息打印出来
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return conn; // 将连接对象返回
	}

	/**
	 * 连接数据库的方法
	 * 
	 * @return conn 返