cn.gtmap.estateplat.core.support.mybatis.mapper
类 MapperTemplate

java.lang.Object
  继承者 cn.gtmap.estateplat.core.support.mybatis.mapper.MapperTemplate

public abstract class MapperTemplate
extends Object

通用Mapper模板类,扩展通用Mapper时需要继承该类

作者:
liuzh

构造方法摘要
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结构
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

MapperTemplate

public MapperTemplate(Class<?> mapperClass,
                      MapperHelper mapperHelper)
方法详细信息

forObject

public static org.apache.ibatis.reflection.MetaObject forObject(Object object)
反射对象,增加对低版本Mybatis的支持

参数:
object - 反射对象
返回:

getMapperClass

public static Class<?> getMapperClass(String msId)
根据msId获取接口类

参数:
msId -
返回:
抛出:
ClassNotFoundException

getMethodName

public static String getMethodName(org.apache.ibatis.mapping.MappedStatement ms)
获取执行的方法名

参数:
ms -
返回:

getMethodName

public static String getMethodName(String msId)
获取执行的方法名

参数:
msId -
返回:

dynamicSQL

public String dynamicSQL(Object record)

addMethodMap

public void addMethodMap(String methodName,
                         Method method)
添加映射方法

参数:
methodName -
method -

getUUID

public String getUUID()

getIDENTITY

public String getIDENTITY()

getBEFORE

public boolean getBEFORE()

supportMethod

public boolean supportMethod(String msId)
是否支持该通用方法

参数:
msId -
返回:

setResultType

protected void setResultType(org.apache.ibatis.mapping.MappedStatement ms,
                             Class<?> entityClass)
设置返回值类型

参数:
ms -
entityClass -

setSqlSource

protected void setSqlSource(org.apache.ibatis.mapping.MappedStatement ms,
                            org.apache.ibatis.mapping.SqlSource sqlSource)
重新设置SqlSource

参数:
ms -
sqlSource -

setSqlSource

public void setSqlSource(org.apache.ibatis.mapping.MappedStatement ms)
                  throws Exception
重新设置SqlSource

参数:
ms -
抛出:
InvocationTargetException
IllegalAccessException
Exception

getSelectReturnType

public Class<?> getSelectReturnType(org.apache.ibatis.mapping.MappedStatement ms)
获取返回值类型 - 实体类型

参数:
ms -
返回:

getPrimaryKeyParameterMappings

protected List<org.apache.ibatis.mapping.ParameterMapping> getPrimaryKeyParameterMappings(org.apache.ibatis.mapping.MappedStatement ms)
根据对象生成主键映射

参数:
ms -
返回:

getSeqNextVal

protected String getSeqNextVal(EntityHelper.EntityColumn column)
获取序列下个值的表达式

参数:
column -
返回:

tableName

protected String tableName(Class<?> entityClass)
获取实体类的表名

参数:
entityClass -
返回:

getIfNotNull

protected org.apache.ibatis.scripting.xmltags.SqlNode getIfNotNull(EntityHelper.EntityColumn column,
                                                                   org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
返回if条件的sqlNode

一般类型:<if test="property!=null">columnNode</if>

参数:
column -
columnNode -
返回:

getIfNotNull

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!=null">columnNode</if>

参数:
column -
columnNode -
empty - 是否包含!=''条件
返回:

getIfIsNull

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>

参数:
column -
返回:

getIfCacheNotNull

protected org.apache.ibatis.scripting.xmltags.SqlNode getIfCacheNotNull(EntityHelper.EntityColumn column,
                                                                        org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
返回if条件的sqlNode

一般类型:<if test="property!=null">columnNode</if>

参数:
column -
返回:

getIfCacheIsNull

protected org.apache.ibatis.scripting.xmltags.SqlNode getIfCacheIsNull(EntityHelper.EntityColumn column,
                                                                       org.apache.ibatis.scripting.xmltags.SqlNode columnNode)
返回if条件的sqlNode

一般类型:<if test="property_cache!=null">columnNode</if>

参数:
column -
返回:

getColumnEqualsProperty

protected org.apache.ibatis.scripting.xmltags.SqlNode getColumnEqualsProperty(EntityHelper.EntityColumn column,
                                                                              boolean first)
获取 [AND] column = #{property}

参数:
column -
first -
返回:

getAllIfColumnNode

protected org.apache.ibatis.scripting.xmltags.SqlNode getAllIfColumnNode(Class<?> entityClass)
获取所有列的where节点中的if判断列

参数:
entityClass -
返回:

getColumnParameterMappings

protected List<org.apache.ibatis.mapping.ParameterMapping> getColumnParameterMappings(org.apache.ibatis.mapping.MappedStatement ms)
根据对象生成所有列的映射

参数:
ms -
返回:

newSelectKeyMappedStatement

protected void newSelectKeyMappedStatement(org.apache.ibatis.mapping.MappedStatement ms,
                                           EntityHelper.EntityColumn column)
新建SelectKey节点 - 只对mysql的自动增长有效,Oracle序列直接写到列中

参数:
ms -
column -

ExampleValidSqlNode

public org.apache.ibatis.scripting.xmltags.IfSqlNode ExampleValidSqlNode(org.apache.ibatis.session.Configuration configuration)

exampleWhereClause

public org.apache.ibatis.scripting.xmltags.WhereSqlNode exampleWhereClause(org.apache.ibatis.session.Configuration configuration)
Example查询中的where结构

参数:
configuration -
返回:

updateByExampleWhereClause

public org.apache.ibatis.scripting.xmltags.WhereSqlNode updateByExampleWhereClause(org.apache.ibatis.session.Configuration configuration)
Example-Update中的where结构

参数:
configuration -
返回:


Copyright © 2015–2020 cn.gtmap. All rights reserved.