java代码创建数据库表

来源:互联网 发布:锐捷客户端for mac 编辑:程序博客网 时间:2024/05/29 08:34


package com.soft.share.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.soft.share.common.Constants;
import com.soft.share.entity.User;

/**
 * 创建数据库的表
 */
public class CreateTable {
 
 private static String getCreateTableSql(String tableName, String primaryKey, List<String> columns) {
  String sql = "CREATE TABLE IF NOT EXISTS " + Constants.DB_PREFIX_NAME + tableName + "(%s, PRIMARY KEY (`"+primaryKey+"`))";
  String column = StringUtil.join(columns, ",");
  return String.format(sql, column);
 }
 
    public static void main(String[] args) {

        Connection conn = null;
        Statement st = null;
       
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://127.0.0.1:3306/share?characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull";
        String user = "root";
        String password = "root";

        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, password);
            st = conn.createStatement();
           
            List<String> columns = new ArrayList<String>();

            columns.add( User._id + " int(11) NOT NULL AUTO_INCREMENT" );
            columns.add( User._login_id + " varchar(50) NOT NULL" );
            columns.add( User._password + " varchar(50) NOT NULL" );
            columns.add( User._create_time + " datetime NOT NULL" );
            columns.add( User._mobile + " varchar(20)" );
            columns.add( User._name + " varchar(50)" );
            columns.add( User._zone_id + " int(11) NOT NULL" );
            columns.add( User._org_id + " int(11) NOT NULL" );
            columns.add( User._enable + " int(11) NOT NULL" );
            st.addBatch( getCreateTableSql("user", User._id, columns) );
            columns.clear();
           
            st.executeBatch();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        } finally {
            try {
                if (st != null) st.close();
                if (conn != null) conn.close();
            } catch (Exception ex) {
            }
        }
    }
}

原创粉丝点击