public abstract class MapperTemplate extends Object
| 构造器和说明 |
|---|
MapperTemplate(Class<?> mapperClass,
MapperHelper mapperHelper) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addMethodMap(String methodName,
Method method)
添加映射方法
|
String |
dynamicSQL(Object record) |
org.apache.ibatis.scripting.xmltags.IfSqlNode |
ExampleValidSqlNode(org.apache.ibatis.session.Configuration configuration) |
org.apache.ibatis.scripting.xmltags.WhereSqlNode |
exampleWhereClause(org.apache.ibatis.session.Configuration configuration)
Example查询中的where结构
|
static org.apache.ibatis.reflection.MetaObject |
forObject(Object object)
反射对象,增加对低版本Mybatis的支持
|
protected org.apache.ibatis.scripting.xmltags.SqlNode |
getAllIfColumnNode(Class<?> entityClass)
获取所有列的where节点中的if判断列
|
boolean |
getBEFORE() |
protected org.apache.ibatis.scripting.xmltags.SqlNode |
getColumnEqualsProperty(EntityHelper.EntityColumn column,
boolean first)
获取
[AND] column = #{property} |
protected List<org.apache.ibatis.mapping.ParameterMapping> |
getColumnParameterMappings(org.apache.ibatis.mapping.MappedStatement ms)
根据对象生成所有列的映射
|
String |
getIDENTITY() |
protected org.apache.ibatis.scripting.xmltags.SqlNode |
getIfCacheIsNull(EntityHelper.EntityColumn column,
org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
返回if条件的sqlNode
一般类型:
<if test="property_cache! |
protected org.apache.ibatis.scripting.xmltags.SqlNode |
getIfCacheNotNull(EntityHelper.EntityColumn column,
org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
返回if条件的sqlNode
一般类型:
<if test="property! |
protected org.apache.ibatis.scripting.xmltags.SqlNode |
getIfIsNull(EntityHelper.EntityColumn column,
org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
返回if条件的sqlNode
一般类型:
<if test="property==null">columnNode</if> |
protected org.apache.ibatis.scripting.xmltags.SqlNode |
getIfNotNull(EntityHelper.EntityColumn column,
org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
返回if条件的sqlNode
一般类型:
<if test="property! |
protected org.apache.ibatis.scripting.xmltags.SqlNode |
getIfNotNull(EntityHelper.EntityColumn column,
org.apache.ibatis.scripting.xmltags.SqlNode columnNode,
boolean empty)
返回if条件的sqlNode
一般类型:
<if test="property! |
static Class<?> |
getMapperClass(String msId)
根据msId获取接口类
|
static String |
getMethodName(org.apache.ibatis.mapping.MappedStatement ms)
获取执行的方法名
|
static String |
getMethodName(String msId)
获取执行的方法名
|
protected List<org.apache.ibatis.mapping.ParameterMapping> |
getPrimaryKeyParameterMappings(org.apache.ibatis.mapping.MappedStatement ms)
根据对象生成主键映射
|
Class<?> |
getSelectReturnType(org.apache.ibatis.mapping.MappedStatement ms)
获取返回值类型 - 实体类型
|
protected String |
getSeqNextVal(EntityHelper.EntityColumn column)
获取序列下个值的表达式
|
String |
getUUID() |
protected void |
newSelectKeyMappedStatement(org.apache.ibatis.mapping.MappedStatement ms,
EntityHelper.EntityColumn column)
新建SelectKey节点 - 只对mysql的自动增长有效,Oracle序列直接写到列中
|
protected void |
setResultType(org.apache.ibatis.mapping.MappedStatement ms,
Class<?> entityClass)
设置返回值类型
|
void |
setSqlSource(org.apache.ibatis.mapping.MappedStatement ms)
重新设置SqlSource
|
protected void |
setSqlSource(org.apache.ibatis.mapping.MappedStatement ms,
org.apache.ibatis.mapping.SqlSource sqlSource)
重新设置SqlSource
|
boolean |
supportMethod(String msId)
是否支持该通用方法
|
protected String |
tableName(Class<?> entityClass)
获取实体类的表名
|
org.apache.ibatis.scripting.xmltags.WhereSqlNode |
updateByExampleWhereClause(org.apache.ibatis.session.Configuration configuration)
Example-Update中的where结构
|
public MapperTemplate(Class<?> mapperClass, MapperHelper mapperHelper)
public static org.apache.ibatis.reflection.MetaObject forObject(Object object)
object - 反射对象public static Class<?> getMapperClass(String msId)
msId - ClassNotFoundExceptionpublic static String getMethodName(org.apache.ibatis.mapping.MappedStatement ms)
ms - public void addMethodMap(String methodName, Method method)
methodName - method - public String getUUID()
public String getIDENTITY()
public boolean getBEFORE()
public boolean supportMethod(String msId)
msId - protected void setResultType(org.apache.ibatis.mapping.MappedStatement ms,
Class<?> entityClass)
ms - entityClass - protected void setSqlSource(org.apache.ibatis.mapping.MappedStatement ms,
org.apache.ibatis.mapping.SqlSource sqlSource)
ms - sqlSource - public void setSqlSource(org.apache.ibatis.mapping.MappedStatement ms)
throws Exception
ms - InvocationTargetExceptionIllegalAccessExceptionExceptionpublic Class<?> getSelectReturnType(org.apache.ibatis.mapping.MappedStatement ms)
ms - protected List<org.apache.ibatis.mapping.ParameterMapping> getPrimaryKeyParameterMappings(org.apache.ibatis.mapping.MappedStatement ms)
ms - protected String getSeqNextVal(EntityHelper.EntityColumn column)
column - protected org.apache.ibatis.scripting.xmltags.SqlNode getIfNotNull(EntityHelper.EntityColumn column, org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
一般类型:<if test="property!=null">columnNode</if>
column - columnNode - protected org.apache.ibatis.scripting.xmltags.SqlNode getIfNotNull(EntityHelper.EntityColumn column, org.apache.ibatis.scripting.xmltags.SqlNode columnNode, boolean empty)
一般类型:<if test="property!=null">columnNode</if>
column - columnNode - empty - 是否包含!=''条件protected org.apache.ibatis.scripting.xmltags.SqlNode getIfIsNull(EntityHelper.EntityColumn column, org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
一般类型:<if test="property==null">columnNode</if>
column - protected org.apache.ibatis.scripting.xmltags.SqlNode getIfCacheNotNull(EntityHelper.EntityColumn column, org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
一般类型:<if test="property!=null">columnNode</if>
column - protected org.apache.ibatis.scripting.xmltags.SqlNode getIfCacheIsNull(EntityHelper.EntityColumn column, org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
一般类型:<if test="property_cache!=null">columnNode</if>
column - protected org.apache.ibatis.scripting.xmltags.SqlNode getColumnEqualsProperty(EntityHelper.EntityColumn column, boolean first)
[AND] column = #{property}column - first - protected org.apache.ibatis.scripting.xmltags.SqlNode getAllIfColumnNode(Class<?> entityClass)
entityClass - protected List<org.apache.ibatis.mapping.ParameterMapping> getColumnParameterMappings(org.apache.ibatis.mapping.MappedStatement ms)
ms - protected void newSelectKeyMappedStatement(org.apache.ibatis.mapping.MappedStatement ms,
EntityHelper.EntityColumn column)
ms - column - public org.apache.ibatis.scripting.xmltags.IfSqlNode ExampleValidSqlNode(org.apache.ibatis.session.Configuration configuration)
public org.apache.ibatis.scripting.xmltags.WhereSqlNode exampleWhereClause(org.apache.ibatis.session.Configuration configuration)
configuration - public org.apache.ibatis.scripting.xmltags.WhereSqlNode updateByExampleWhereClause(org.apache.ibatis.session.Configuration configuration)
configuration - Copyright © 2020. All rights reserved.