类 SQLHelper
java.lang.Object
cool.scx.dao.schema.SQLHelper
todo 数据库 DDL 创建工具
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static booleancheckNeedFixTable(TableInfo<?> tableInfo, String databaseName, DataSource dataSource) 检查是否需要修复表static voidfixTable(TableInfo<?> tableInfo, String databaseName, DataSource dataSource) astatic StringgetAlertTableDDL(List<? extends ColumnInfo> nonExistentColumnName, String tableName) 获取修复表的语句static StringgetCreateTableDDL(TableInfo<?> tableInfo) 获取建表语句static StringgetMigrateSQL(TableInfo oldTable, TableInfo newTable) static SQLTypegetMySQLType(Class<?> javaType) 获取 mysql 类型 用于后续判断类型是否可以由 JDBC 进行 SQLType 到 JavaType 的直接转换static StringgetMySQLTypeCreateName(Class<?> javaType) 根据 class 获取对应的 SQLType 类型 如果没有则返回 JSONgetTableAllColumnNames(Connection con, String databaseName, String tableName) 根据连接 获取数据库中所有的字段static String[]initSpecialDDL(ColumnInfo column) 当前列对象特殊的 DDL 如设置是否为主键 是否创建索引 是否是唯一值 (建表语句片段 , 需和 normalDDL 一起使用才完整)static SchemaVerifyResult
-
构造器详细资料
-
SQLHelper
public SQLHelper()
-
-
方法详细资料
-
getCreateTableDDL
获取建表语句- 返回:
- s
-
getMigrateSQL
-
verify
-
getMySQLType
获取 mysql 类型 用于后续判断类型是否可以由 JDBC 进行 SQLType 到 JavaType 的直接转换例子 : String 可以由 varchar 直接转换 true Integer 可以由 int 直接转换 true User 不可以由 json 直接转换 false
- 参数:
javaType- 需要判断的类型- 返回:
- r
-
getAlertTableDDL
public static String getAlertTableDDL(List<? extends ColumnInfo> nonExistentColumnName, String tableName) 获取修复表的语句- 参数:
nonExistentColumnName- java 字段的名称 (注意 : fieldNames 中存在但 allFields 中不存在的则会忽略)- 返回:
- a
-
initSpecialDDL
当前列对象特殊的 DDL 如设置是否为主键 是否创建索引 是否是唯一值 (建表语句片段 , 需和 normalDDL 一起使用才完整) -
fixTable
public static void fixTable(TableInfo<?> tableInfo, String databaseName, DataSource dataSource) throws SQLException a- 参数:
tableInfo- a- 抛出:
SQLException- a
-
getTableAllColumnNames
public static List<String> getTableAllColumnNames(Connection con, String databaseName, String tableName) throws SQLException 根据连接 获取数据库中所有的字段- 参数:
con- 连接databaseName- 数据库名称tableName- 表名称- 返回:
- 如果表存在返回所有字段的名称 否则返回 null
- 抛出:
SQLException- s
-
checkNeedFixTable
public static boolean checkNeedFixTable(TableInfo<?> tableInfo, String databaseName, DataSource dataSource) throws SQLException 检查是否需要修复表- 参数:
tableInfo- a- 返回:
- true 需要 false 不需要
- 抛出:
SQLException- e
-
getMySQLTypeCreateName
根据 class 获取对应的 SQLType 类型 如果没有则返回 JSON- 参数:
javaType- 需要获取的类型- 返回:
- a
Stringobject.
-