类 DialectUtils
- java.lang.Object
-
- org.sagacity.sqltoy.dialect.utils.DialectUtils
-
public class DialectUtils extends Object
- 版本:
- v1.0,Date:2014年12月26日
- 作者:
- zhongxuchen
-
-
字段概要
字段 修饰符和类型 字段 说明 static PatternDISTINCT_PATTERNstatic PatternGROUP_BY_PATTERNprotected static org.slf4j.Loggerlogger定义日志static PatternORDER_BY_PATTERNstatic PatternSTAT_PATTERN统计正则表达式static PatternSTORE_PATTERN存储过程格式static PatternUNION_PATTERN
-
构造器概要
构造器 构造器 说明 DialectUtils()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static StringclearDisturbSql(String sql)static SqlParamsModelconvertParamsToNamed(String sql, int startIndex)update 2020-08-15 增强对非条件参数?static Longdelete(SqlToyContext sqlToyContext, Serializable entity, Connection conn, Integer dbType, String tableName)static LongdeleteAll(SqlToyContext sqlToyContext, List<?> entities, int batchSize, Connection conn, Integer dbType, Boolean autoCommit, String tableName)static SqlToyResultdoInterceptors(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, OperateType operateType, SqlToyResult sqlToyResult, Class entityClass, Integer dbType)static StoreResultexecuteStore(SqlToyConfig sqlToyConfig, SqlToyContext sqlToyContext, String storeSql, Object[] inParamValues, Integer[] outParamTypes, Connection conn, Integer dbType, int fetchSize)static QueryResultfindBySql(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, String sql, Object[] paramsValue, QueryExecutorExtend extend, DecryptHandler decryptHandler, Connection conn, Integer dbType, int startIndex, int fetchSize, int maxRows)static ReflectPropsHandlergetAddReflectHandler(EntityMeta entityMeta, ReflectPropsHandler preHandler, IUnifyFieldsHandler unifyFieldsHandler)static LonggetCountBySql(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, String sql, Object[] paramsValue, boolean isLastSql, Connection conn, Integer dbType)static intgetParamsCount(String queryStr)static ReflectPropsHandlergetSaveOrUpdateReflectHandler(String[] idFields, ReflectPropsHandler prepHandler, String[] forceUpdateProps, IUnifyFieldsHandler unifyFieldsHandler)static StringgetSaveOrUpdateSql(IUnifyFieldsHandler unifyFieldsHandler, Integer dbType, EntityMeta entityMeta, PKStrategy pkStrategy, String[] forceUpdateFields, String fromTable, String isNullFunction, String sequence, boolean isAssignPK, String tableName)static ReflectPropsHandlergetSecureReflectHandler(ReflectPropsHandler preHandler, FieldsSecureProvider fieldsSecureProvider, DesensitizeProvider desensitizeProvider, List<FieldSecureConfig> secureFields)static SqlToyConfiggetUnifyParamsNamedConfig(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, QueryExecutor queryExecutor, String dialect, boolean wrapNamed)static ReflectPropsHandlergetUpdateReflectHandler(ReflectPropsHandler preHandler, String[] forceUpdateProps, IUnifyFieldsHandler unifyFieldsHandler)static booleanhasOrderByOrUnion(String sql)static booleanisComplexPageQuery(String queryStr)static booleanisEmptyPK(SqlToyContext sqlToyContext, Serializable entity)static booleanisUnique(SqlToyContext sqlToyContext, Serializable entity, String[] paramsNamed, Connection conn, Integer dbType, String tableName, UniqueSqlHandler uniqueSqlHandler)static Serializableload(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, String sql, EntityMeta entityMeta, Serializable entity, List<Class> cascadeTypes, Connection conn, Integer dbType)static List<?>loadAll(SqlToyContext sqlToyContext, List<?> entities, List<Class> cascadeTypes, LockMode lockMode, Connection conn, Integer dbType, String tableName, LockSqlHandler lockSqlHandler, int fetchSize, int maxRows)static Objectsave(SqlToyContext sqlToyContext, EntityMeta entityMeta, PKStrategy pkStrategy, boolean isAssignPK, String insertSql, Serializable entity, GenerateSqlHandler generateSqlHandler, GenerateSavePKStrategy generateSavePKStrategy, Connection conn, Integer dbType)static LongsaveAll(SqlToyContext sqlToyContext, EntityMeta entityMeta, PKStrategy pkStrategy, boolean isAssignPK, String insertSql, List<?> entities, int batchSize, ReflectPropsHandler reflectPropsHandler, Connection conn, Integer dbType, Boolean autoCommit)static LongsaveAllIgnoreExist(SqlToyContext sqlToyContext, List<?> entities, int batchSize, EntityMeta entityMeta, GenerateSqlHandler generateSqlHandler, ReflectPropsHandler reflectPropsHandler, Connection conn, Integer dbType, Boolean autoCommit)static LongsaveOrUpdateAll(SqlToyContext sqlToyContext, List<?> entities, int batchSize, EntityMeta entityMeta, String[] forceUpdateFields, GenerateSqlHandler generateSqlHandler, ReflectPropsHandler reflectPropsHandler, Connection conn, Integer dbType, Boolean autoCommit)static Longupdate(SqlToyContext sqlToyContext, Serializable entity, String nullFunction, String[] forceUpdateFields, boolean cascade, GenerateSqlHandler generateSqlHandler, Class[] forceCascadeClasses, HashMap<Class,String[]> subTableForceUpdateProps, Connection conn, Integer dbType, String tableName)static Longupdate(SqlToyContext sqlToyContext, Serializable entity, EntityMeta entityMeta, String nullFunction, String[] forceUpdateFields, Connection conn, Integer dbType, String tableName)static LongupdateAll(SqlToyContext sqlToyContext, List<?> entities, int batchSize, String[] forceUpdateFields, ReflectPropsHandler reflectPropsHandler, String nullFunction, Connection conn, Integer dbType, Boolean autoCommit, String tableName, boolean skipNull)static QueryResultupdateFetchBySql(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, String sql, Object[] paramsValue, UpdateRowHandler updateRowHandler, Connection conn, Integer dbType, int startIndex, int fetchSize, int maxRows)static SqlToyResultwrapPageSqlParams(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, QueryExecutor queryExecutor, String pageSql, Object startIndex, Object endIndex, String dialect)static ReflectPropsHandlerwrapReflectWithUnifyFields(String sql, ReflectPropsHandler reflectPropsHandler, IUnifyFieldsHandler unifyFieldsHandler)
-
-
-
字段详细资料
-
logger
protected static final org.slf4j.Logger logger
定义日志
-
UNION_PATTERN
public static final Pattern UNION_PATTERN
-
ORDER_BY_PATTERN
public static final Pattern ORDER_BY_PATTERN
-
GROUP_BY_PATTERN
public static final Pattern GROUP_BY_PATTERN
-
STORE_PATTERN
public static final Pattern STORE_PATTERN
存储过程格式
-
DISTINCT_PATTERN
public static final Pattern DISTINCT_PATTERN
-
STAT_PATTERN
public static final Pattern STAT_PATTERN
统计正则表达式
-
-
方法详细资料
-
wrapPageSqlParams
public static SqlToyResult wrapPageSqlParams(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, QueryExecutor queryExecutor, String pageSql, Object startIndex, Object endIndex, String dialect) throws Exception
- 参数:
sqlToyContext-sqlToyConfig-queryExecutor-pageSql-startIndex-endIndex-- 返回:
- 抛出:
Exception
-
findBySql
public static QueryResult findBySql(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, String sql, Object[] paramsValue, QueryExecutorExtend extend, DecryptHandler decryptHandler, Connection conn, Integer dbType, int startIndex, int fetchSize, int maxRows) throws Exception
- 参数:
sqlToyContext-sqlToyConfig-sql-paramsValue-extend-decryptHandler- 解密conn-dbType-startIndex-fetchSize-maxRows-- 返回:
- 抛出:
Exception
-
updateFetchBySql
public static QueryResult updateFetchBySql(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, String sql, Object[] paramsValue, UpdateRowHandler updateRowHandler, Connection conn, Integer dbType, int startIndex, int fetchSize, int maxRows) throws Exception
- 参数:
sqlToyContext-sqlToyConfig-sql-paramsValue-updateRowHandler-conn-dbType-startIndex-fetchSize-maxRows-- 返回:
- 抛出:
Exception
-
getCountBySql
public static Long getCountBySql(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, String sql, Object[] paramsValue, boolean isLastSql, Connection conn, Integer dbType) throws Exception
- 参数:
sqlToyContext-sqlToyConfig-sql-paramsValue-isLastSql-conn-dbType-- 返回:
- 抛出:
Exception
-
getUnifyParamsNamedConfig
public static SqlToyConfig getUnifyParamsNamedConfig(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, QueryExecutor queryExecutor, String dialect, boolean wrapNamed) throws Exception
- 参数:
sqlToyContext-sqlToyConfig-queryExecutor-dialect-wrapNamed- 只在分页场景下需要将?模式传参统一成:name模式,便于跟后面分页startIndex和endIndex参数结合,从而利用sql预编译功能- 返回:
- 抛出:
Exception
-
convertParamsToNamed
public static SqlParamsModel convertParamsToNamed(String sql, int startIndex)
update 2020-08-15 增强对非条件参数?的判断处理- 参数:
sql-startIndex-- 返回:
-
saveOrUpdateAll
public static Long saveOrUpdateAll(SqlToyContext sqlToyContext, List<?> entities, int batchSize, EntityMeta entityMeta, String[] forceUpdateFields, GenerateSqlHandler generateSqlHandler, ReflectPropsHandler reflectPropsHandler, Connection conn, Integer dbType, Boolean autoCommit) throws Exception
- 参数:
sqlToyContext-entities-batchSize-entityMeta-forceUpdateFields-generateSqlHandler-reflectPropsHandler-conn-dbType-autoCommit-- 返回:
- 抛出:
Exception
-
getSaveOrUpdateSql
public static String getSaveOrUpdateSql(IUnifyFieldsHandler unifyFieldsHandler, Integer dbType, EntityMeta entityMeta, PKStrategy pkStrategy, String[] forceUpdateFields, String fromTable, String isNullFunction, String sequence, boolean isAssignPK, String tableName)
- 参数:
unifyFieldsHandler-dbType-entityMeta-pkStrategy-forceUpdateFields-fromTable-isNullFunction-sequence-isAssignPK-tableName-- 返回:
-
load
public static Serializable load(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, String sql, EntityMeta entityMeta, Serializable entity, List<Class> cascadeTypes, Connection conn, Integer dbType) throws Exception
- 参数:
sqlToyContext-sqlToyConfig-sql-entityMeta-entity-cascadeTypes-conn-dbType-- 返回:
- 抛出:
Exception
-
loadAll
public static List<?> loadAll(SqlToyContext sqlToyContext, List<?> entities, List<Class> cascadeTypes, LockMode lockMode, Connection conn, Integer dbType, String tableName, LockSqlHandler lockSqlHandler, int fetchSize, int maxRows) throws Exception
- 参数:
sqlToyContext-entities-cascadeTypes-lockMode-conn-dbType-tableName-lockSqlHandler-fetchSize-maxRows-- 返回:
- 抛出:
Exception
-
save
public static Object save(SqlToyContext sqlToyContext, EntityMeta entityMeta, PKStrategy pkStrategy, boolean isAssignPK, String insertSql, Serializable entity, GenerateSqlHandler generateSqlHandler, GenerateSavePKStrategy generateSavePKStrategy, Connection conn, Integer dbType) throws Exception
- 参数:
sqlToyContext-entityMeta-pkStrategy-isAssignPK-insertSql-entity-generateSqlHandler-generateSavePKStrategy-conn-dbType-- 返回:
- 抛出:
Exception
-
saveAll
public static Long saveAll(SqlToyContext sqlToyContext, EntityMeta entityMeta, PKStrategy pkStrategy, boolean isAssignPK, String insertSql, List<?> entities, int batchSize, ReflectPropsHandler reflectPropsHandler, Connection conn, Integer dbType, Boolean autoCommit) throws Exception
- 参数:
sqlToyContext-entityMeta-pkStrategy-isAssignPK-insertSql-entities-batchSize-reflectPropsHandler-conn-dbType-autoCommit-- 返回:
- 抛出:
Exception
-
saveAllIgnoreExist
public static Long saveAllIgnoreExist(SqlToyContext sqlToyContext, List<?> entities, int batchSize, EntityMeta entityMeta, GenerateSqlHandler generateSqlHandler, ReflectPropsHandler reflectPropsHandler, Connection conn, Integer dbType, Boolean autoCommit) throws Exception
- 参数:
sqlToyContext-entities-batchSize-entityMeta-generateSqlHandler-reflectPropsHandler-conn-dbType-autoCommit-- 返回:
- 抛出:
Exception
-
update
public static Long update(SqlToyContext sqlToyContext, Serializable entity, EntityMeta entityMeta, String nullFunction, String[] forceUpdateFields, Connection conn, Integer dbType, String tableName) throws Exception
- 参数:
sqlToyContext-entity-entityMeta-nullFunction-forceUpdateFields-conn-dbType-tableName-- 返回:
- 抛出:
Exception
-
update
public static Long update(SqlToyContext sqlToyContext, Serializable entity, String nullFunction, String[] forceUpdateFields, boolean cascade, GenerateSqlHandler generateSqlHandler, Class[] forceCascadeClasses, HashMap<Class,String[]> subTableForceUpdateProps, Connection conn, Integer dbType, String tableName) throws Exception
- 参数:
sqlToyContext-entity-nullFunction-forceUpdateFields-cascade-generateSqlHandler-forceCascadeClasses-subTableForceUpdateProps-conn-tableName-- 抛出:
Exception
-
updateAll
public static Long updateAll(SqlToyContext sqlToyContext, List<?> entities, int batchSize, String[] forceUpdateFields, ReflectPropsHandler reflectPropsHandler, String nullFunction, Connection conn, Integer dbType, Boolean autoCommit, String tableName, boolean skipNull) throws Exception
- 参数:
sqlToyContext-entities-batchSize-forceUpdateFields-reflectPropsHandler-nullFunction-conn-dbType-autoCommit-tableName-skipNull-- 返回:
- 抛出:
Exception
-
delete
public static Long delete(SqlToyContext sqlToyContext, Serializable entity, Connection conn, Integer dbType, String tableName) throws Exception
- 参数:
sqlToyContext-entity-conn-dbType-tableName-- 返回:
- 抛出:
Exception
-
deleteAll
public static Long deleteAll(SqlToyContext sqlToyContext, List<?> entities, int batchSize, Connection conn, Integer dbType, Boolean autoCommit, String tableName) throws Exception
- 参数:
sqlToyContext-entities-batchSize-conn-dbType-autoCommit-tableName-- 返回:
- 抛出:
Exception
-
isUnique
public static boolean isUnique(SqlToyContext sqlToyContext, Serializable entity, String[] paramsNamed, Connection conn, Integer dbType, String tableName, UniqueSqlHandler uniqueSqlHandler)
- 参数:
sqlToyContext-entity-paramsNamed-conn-dbType-tableName-uniqueSqlHandler-- 返回:
-
isComplexPageQuery
public static boolean isComplexPageQuery(String queryStr)
- 参数:
queryStr-- 返回:
-
hasOrderByOrUnion
public static boolean hasOrderByOrUnion(String sql)
- 参数:
sql-- 返回:
-
executeStore
public static StoreResult executeStore(SqlToyConfig sqlToyConfig, SqlToyContext sqlToyContext, String storeSql, Object[] inParamValues, Integer[] outParamTypes, Connection conn, Integer dbType, int fetchSize) throws Exception
- 参数:
sqlToyConfig-sqlToyContext-storeSql-inParamValues-outParamTypes-conn-dbType-fetchSize-- 返回:
- 抛出:
Exception
-
getAddReflectHandler
public static ReflectPropsHandler getAddReflectHandler(EntityMeta entityMeta, ReflectPropsHandler preHandler, IUnifyFieldsHandler unifyFieldsHandler)
- 参数:
entityMeta-preHandler-unifyFieldsHandler-- 返回:
-
getUpdateReflectHandler
public static ReflectPropsHandler getUpdateReflectHandler(ReflectPropsHandler preHandler, String[] forceUpdateProps, IUnifyFieldsHandler unifyFieldsHandler)
- 参数:
preHandler-forceUpdateProps-unifyFieldsHandler-- 返回:
-
getSecureReflectHandler
public static ReflectPropsHandler getSecureReflectHandler(ReflectPropsHandler preHandler, FieldsSecureProvider fieldsSecureProvider, DesensitizeProvider desensitizeProvider, List<FieldSecureConfig> secureFields)
- 参数:
preHandler-fieldsSecureProvider-desensitizeProvider-secureFields-- 返回:
-
getSaveOrUpdateReflectHandler
public static ReflectPropsHandler getSaveOrUpdateReflectHandler(String[] idFields, ReflectPropsHandler prepHandler, String[] forceUpdateProps, IUnifyFieldsHandler unifyFieldsHandler)
- 参数:
idFields-prepHandler-forceUpdateProps-unifyFieldsHandler-- 返回:
-
getParamsCount
public static int getParamsCount(String queryStr)
- 参数:
queryStr-- 返回:
-
isEmptyPK
public static boolean isEmptyPK(SqlToyContext sqlToyContext, Serializable entity)
- 参数:
sqlToyContext-entity-- 返回:
-
wrapReflectWithUnifyFields
public static ReflectPropsHandler wrapReflectWithUnifyFields(String sql, ReflectPropsHandler reflectPropsHandler, IUnifyFieldsHandler unifyFieldsHandler)
- 参数:
sql-reflectPropsHandler-unifyFieldsHandler-- 返回:
-
doInterceptors
public static SqlToyResult doInterceptors(SqlToyContext sqlToyContext, SqlToyConfig sqlToyConfig, OperateType operateType, SqlToyResult sqlToyResult, Class entityClass, Integer dbType)
- 参数:
sqlToyContext-sqlToyConfig-operateType-sqlToyResult-entityClass-dbType-- 返回:
-
-