/**
* 拼接創建表格SQL
* @param tableName 數據庫表名
* @param tableNameId 表名前面動態拼接唯一標識(不用,可以刪除)
* @param primaryKey 主鍵字段
* @param columnList 所有字段 + 類型
* @return
*/
private static String getCreateTableSql(String tableName,String tableNameId, String primaryKey, List<String> columnList) {
String sql = "CREATE TABLE IF NOT EXISTS " + tableNameId + tableName + "(%s, PRIMARY KEY (`"+primaryKey+"`))";
String column = StringUtils.join(columnList, ",");
return String.format(sql, column);
}
public static void main(String[] args) {
Connection conn = null;
Statement st = null;
/**
* 根據自己的MySQL版本選擇
* JDBC連接Mysql5:com.mysql.jdbc.Driver
* JDBC連接Mysql6:com.mysql.cj.jdbc.Driver
*/
String driver = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/myselfdb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
String user = "root";
String password = "123456";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
st = conn.createStatement();
List<String> columns = new ArrayList<String>();
columns.add( "字段名" + " int(11) NOT NULL AUTO_INCREMENT" );
columns.add( "字段名" + " int(11) NOT NULL" );
columns.add( "字段名" + " int(11) NOT NULL" );
columns.add( "字段名" + " datetime NOT NULL" );
columns.add( "字段名" + " varchar(255)" );
columns.add( "字段名" + " varchar(255)" );
columns.add( "字段名" + " varchar(255) NOT NULL" );
columns.add( "字段名" + " varchar(255) NOT NULL" );
st.addBatch(getCreateTableSql("表名", new SimpleDateFormat().format(new Date()), "主鍵字段名", columns) );
columns.clear();
st.executeBatch();
} catch (Exception e) {
System.out.println("執行出現錯誤:conn - 》" + conn + ",st - 》" + st);
} finally {
try {
if (st != null) st.close();
if (conn != null) conn.close();
} catch (Exception ex) {
}
}