java代碼實現創建數據庫表格

 

/**
     * 拼接創建表格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) {

            }
        }

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章