Class SqlHelper
java.lang.Object
cn.lm.mybatis.mapper.mapperhelper.SqlHelper
拼常用SQL的工具类
- Since:
- 2015-11-03 22:40
- Author:
- liuzh
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringdeleteFromTable(Class<?> entityClass, String defaultTableName) delete tableName - 动态表名static StringexampleCheck(Class<?> entityClass) example 支持 for updatestatic StringexampleCountColumn(Class<?> entityClass) example支持查询指定列时static Stringexample 支持 for updatestatic StringexampleHasAtLeastOneCriteriaCheck(String parameterName) Example 中包含至少 1 个查询条件static StringexampleOrderBy(Class<?> entityClass) example查询中的orderBy条件,会判断默认orderBystatic StringexampleOrderBy(String entityName, Class<?> entityClass) example查询中的orderBy条件,会判断默认orderBystatic StringexampleSelectColumns(Class<?> entityClass) example支持查询指定列时static StringExample查询中的where结构,用于只有一个Example参数时static Stringfrom tableName - 动态表名static StringgetAllColumns(Class<?> entityClass) 获取所有查询列,如id,name,code...static StringgetBindCache(EntityColumn column) static StringgetBindValue(EntityColumn column, String value) static StringgetDynamicTableName(Class<?> entityClass, String tableName) 获取表名 - 支持动态表名static StringgetDynamicTableName(Class<?> entityClass, String tableName, String parameterName) 获取表名 - 支持动态表名,该方法用于多个入参时,通过parameterName指定入参中实体类的@Param的注解值static StringgetIfCacheIsNull(EntityColumn column, String contents) 如果_cache == nullstatic StringgetIfCacheNotNull(EntityColumn column, String contents) static StringgetIfIsNull(EntityColumn column, String contents, boolean empty) 判断自动==null的条件结构static StringgetIfIsNull(String entityName, EntityColumn column, String contents, boolean empty) 判断自动==null的条件结构static StringgetIfNotNull(EntityColumn column, String contents, boolean empty) 判断自动!static StringgetIfNotNull(String entityName, EntityColumn column, String contents, boolean empty) 判断自动!static EntityColumngetLogicDeleteColumn(Class<?> entityClass) 获取逻辑删除注解的列,若没有返回nullstatic IntegergetLogicDeletedValue(EntityColumn column, boolean isDeleted) 获取逻辑删除注解的参数值static booleanhasLogicDeleteColumn(Class<?> entityClass) 是否有逻辑删除的注解static StringinsertColumns(Class<?> entityClass, boolean skipId, boolean notNull, boolean notEmpty) insert table()列static StringinsertIntoTable(Class<?> entityClass, String defaultTableName) insert into tableName - 动态表名static StringinsertIntoTable(Class<?> entityClass, String defaultTableName, String parameterName) insert into tableName - 动态表名static StringinsertValuesColumns(Class<?> entityClass, boolean skipId, boolean notNull, boolean notEmpty) insert-values()列static StringlogicDeleteColumnEqualsValue(EntityColumn column, boolean isDeleted) 返回格式: column = value
默认isDeletedValue = 1 notDeletedValue = 0
则返回is_deleted = 1 或 is_deleted = 0
若没有逻辑删除注解,则返回空字符串static StringlogicDeleteColumnEqualsValue(Class<?> entityClass, boolean isDeleted) 返回格式: column = value
默认isDeletedValue = 1 notDeletedValue = 0
则返回is_deleted = 1 或 is_deleted = 0
若没有逻辑删除注解,则返回空字符串static StringnotAllNullParameterCheck(String parameterName, Set<EntityColumn> columnSet) 不是所有参数都是 null 的检查static StringorderByDefault(Class<?> entityClass) 获取默认的orderBy,通过注解设置的static StringselectAllColumns(Class<?> entityClass) select xxx,xxx...static StringselectCount(Class<?> entityClass) select count(x)static StringselectCountExists(Class<?> entityClass) select case when count(x) > 0 then 1 else 0 endstatic StringExample-Update中的where结构,用于多个参数时,Example带@Param("example")注解时static StringupdateSetColumns(Class<?> entityClass, String entityName, boolean notNull, boolean notEmpty) update set列static StringupdateSetColumnsIgnoreVersion(Class<?> entityClass, String entityName, boolean notNull, boolean notEmpty) update set列,不考虑乐观锁注解 @Versionstatic StringupdateTable(Class<?> entityClass, String defaultTableName) update tableName - 动态表名static StringupdateTable(Class<?> entityClass, String defaultTableName, String entityName) update tableName - 动态表名static StringwhereAllIfColumns(Class<?> entityClass, boolean empty) where所有列的条件,会判断是否!static StringwhereAllIfColumns(Class<?> entityClass, boolean empty, boolean useVersion) where所有列的条件,会判断是否!static StringwhereLogicDelete(Class<?> entityClass, boolean isDeleted) 逻辑删除的where条件,没有逻辑删除注解则返回空字符串
AND column = valuestatic StringwherePKColumns(Class<?> entityClass) where主键条件static StringwherePKColumns(Class<?> entityClass, boolean useVersion) where主键条件static StringwherePKColumns(Class<?> entityClass, String entityName, boolean useVersion) where主键条件static StringwhereVersion(Class<?> entityClass) 乐观锁字段条件static StringwhereVersion(Class<?> entityClass, String entityName) 乐观锁字段条件
-
Constructor Details
-
SqlHelper
public SqlHelper()
-
-
Method Details
-
getDynamicTableName
获取表名 - 支持动态表名- Parameters:
entityClass-tableName-- Returns:
-
getDynamicTableName
public static String getDynamicTableName(Class<?> entityClass, String tableName, String parameterName) 获取表名 - 支持动态表名,该方法用于多个入参时,通过parameterName指定入参中实体类的@Param的注解值- Parameters:
entityClass-tableName-parameterName-- Returns:
-
getBindCache
- Parameters:
column-- Returns:
-
getBindValue
- Parameters:
column-- Returns:
-
getIfCacheNotNull
- Parameters:
column-- Returns:
-
getIfCacheIsNull
如果_cache == null- Parameters:
column-- Returns:
-
getIfNotNull
判断自动!=null的条件结构- Parameters:
column-contents-empty-- Returns:
-
getIfIsNull
判断自动==null的条件结构- Parameters:
column-contents-empty-- Returns:
-
getIfNotNull
public static String getIfNotNull(String entityName, EntityColumn column, String contents, boolean empty) 判断自动!=null的条件结构- Parameters:
entityName-column-contents-empty-- Returns:
-
getIfIsNull
public static String getIfIsNull(String entityName, EntityColumn column, String contents, boolean empty) 判断自动==null的条件结构- Parameters:
entityName-column-contents-empty-- Returns:
-
getAllColumns
获取所有查询列,如id,name,code...- Parameters:
entityClass-- Returns:
-
selectAllColumns
select xxx,xxx...- Parameters:
entityClass-- Returns:
-
selectCount
select count(x)- Parameters:
entityClass-- Returns:
-
selectCountExists
select case when count(x) > 0 then 1 else 0 end- Parameters:
entityClass-- Returns:
-
fromTable
from tableName - 动态表名- Parameters:
entityClass-defaultTableName-- Returns:
-
updateTable
update tableName - 动态表名- Parameters:
entityClass-defaultTableName-- Returns:
-
updateTable
update tableName - 动态表名- Parameters:
entityClass-defaultTableName- 默认表名entityName- 别名- Returns:
-
deleteFromTable
delete tableName - 动态表名- Parameters:
entityClass-defaultTableName-- Returns:
-
insertIntoTable
insert into tableName - 动态表名- Parameters:
entityClass-defaultTableName-- Returns:
-
insertIntoTable
public static String insertIntoTable(Class<?> entityClass, String defaultTableName, String parameterName) insert into tableName - 动态表名- Parameters:
entityClass-defaultTableName-parameterName- 动态表名的参数名- Returns:
-
insertColumns
public static String insertColumns(Class<?> entityClass, boolean skipId, boolean notNull, boolean notEmpty) insert table()列- Parameters:
entityClass-skipId- 是否从列中忽略id类型notNull- 是否判断!=nullnotEmpty- 是否判断String类型!=''- Returns:
-
insertValuesColumns
public static String insertValuesColumns(Class<?> entityClass, boolean skipId, boolean notNull, boolean notEmpty) insert-values()列- Parameters:
entityClass-skipId- 是否从列中忽略id类型notNull- 是否判断!=nullnotEmpty- 是否判断String类型!=''- Returns:
-
updateSetColumns
public static String updateSetColumns(Class<?> entityClass, String entityName, boolean notNull, boolean notEmpty) update set列- Parameters:
entityClass- 实体ClassentityName- 实体映射名notNull- 是否判断!=nullnotEmpty- 是否判断String类型!=''- Returns:
- XML中的SET语句块
-
updateSetColumnsIgnoreVersion
public static String updateSetColumnsIgnoreVersion(Class<?> entityClass, String entityName, boolean notNull, boolean notEmpty) update set列,不考虑乐观锁注解 @Version- Parameters:
entityClass-entityName- 实体映射名notNull- 是否判断!=nullnotEmpty- 是否判断String类型!=''- Returns:
-
notAllNullParameterCheck
不是所有参数都是 null 的检查- Parameters:
parameterName- 参数名columnSet- 需要检查的列- Returns:
-
exampleHasAtLeastOneCriteriaCheck
Example 中包含至少 1 个查询条件- Parameters:
parameterName- 参数名- Returns:
-
wherePKColumns
where主键条件- Parameters:
entityClass-- Returns:
-
wherePKColumns
where主键条件- Parameters:
entityClass-useVersion-- Returns:
-
wherePKColumns
where主键条件- Parameters:
entityClass-entityName-useVersion-- Returns:
-
whereAllIfColumns
where所有列的条件,会判断是否!=null- Parameters:
entityClass-empty-- Returns:
-
whereAllIfColumns
where所有列的条件,会判断是否!=null- Parameters:
entityClass-empty-useVersion-- Returns:
-
whereVersion
乐观锁字段条件- Parameters:
entityClass-- Returns:
-
whereVersion
乐观锁字段条件- Parameters:
entityClass-entityName- 实体名称- Returns:
-
whereLogicDelete
逻辑删除的where条件,没有逻辑删除注解则返回空字符串
AND column = value- Parameters:
entityClass-isDeleted- true:已经逻辑删除,false:未逻辑删除- Returns:
-
logicDeleteColumnEqualsValue
返回格式: column = value
默认isDeletedValue = 1 notDeletedValue = 0
则返回is_deleted = 1 或 is_deleted = 0
若没有逻辑删除注解,则返回空字符串- Parameters:
entityClass-isDeleted- true 已经逻辑删除 false 未逻辑删除
-
logicDeleteColumnEqualsValue
返回格式: column = value
默认isDeletedValue = 1 notDeletedValue = 0
则返回is_deleted = 1 或 is_deleted = 0
若没有逻辑删除注解,则返回空字符串- Parameters:
column-isDeleted- true 已经逻辑删除 false 未逻辑删除
-
getLogicDeletedValue
获取逻辑删除注解的参数值- Parameters:
column-isDeleted- true:逻辑删除的值,false:未逻辑删除的值- Returns:
-
hasLogicDeleteColumn
是否有逻辑删除的注解- Parameters:
entityClass-- Returns:
-
getLogicDeleteColumn
获取逻辑删除注解的列,若没有返回null- Parameters:
entityClass-- Returns:
-
orderByDefault
获取默认的orderBy,通过注解设置的- Parameters:
entityClass-- Returns:
-
exampleSelectColumns
example支持查询指定列时- Returns:
-
exampleCountColumn
example支持查询指定列时- Returns:
-
exampleOrderBy
example查询中的orderBy条件,会判断默认orderBy- Returns:
-
exampleOrderBy
example查询中的orderBy条件,会判断默认orderBy- Returns:
-
exampleForUpdate
example 支持 for update- Returns:
-
exampleCheck
example 支持 for update- Returns:
-
exampleWhereClause
Example查询中的where结构,用于只有一个Example参数时- Returns:
-
updateByExampleWhereClause
Example-Update中的where结构,用于多个参数时,Example带@Param("example")注解时- Returns:
-