本文整理汇总了Java中tk.mybatis.mapper.entity.IDynamicTableName类的典型用法代码示例。如果您正苦于以下问题:Java IDynamicTableName类的具体用法?Java IDynamicTableName怎么用?Java IDynamicTableName使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
IDynamicTableName类属于tk.mybatis.mapper.entity包,在下文中一共展示了IDynamicTableName类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getDynamicTableName
import tk.mybatis.mapper.entity.IDynamicTableName; //导入依赖的package包/类
/**
* 获取表名 - 支持动态表名,该方法用于多个入参时,通过parameterName指定入参中实体类的@Param的注解值
*
* @param entityClass
* @param tableName
* @param parameterName
* @return
*/
public static String getDynamicTableName(Class<?> entityClass, String tableName, String parameterName) {
if (IDynamicTableName.class.isAssignableFrom(entityClass)) {
if (StringUtil.isNotEmpty(parameterName)) {
return "<if test=\"@[email protected](" + parameterName + ") and " + parameterName + ".dynamicTableName != null and " + parameterName + ".dynamicTableName != ''\">\n" +
"${" + parameterName + ".dynamicTableName}\n" +
"</if>\n" +
"<if test=\"@[email protected](" + parameterName + ") or " + parameterName + ".dynamicTableName == null or " + parameterName + ".dynamicTableName == ''\">\n" +
tableName + "\n" +
"</if>";
} else {
return getDynamicTableName(entityClass, tableName);
}
} else {
return tableName;
}
}
示例2: getDynamicTableName
import tk.mybatis.mapper.entity.IDynamicTableName; //导入依赖的package包/类
/**
* 获取表名 - 支持动态表名
*
* @param entityClass
* @param tableName
* @return
*/
public static String getDynamicTableName(Class<?> entityClass, String tableName) {
if (IDynamicTableName.class.isAssignableFrom(entityClass)) {
StringBuilder sql = new StringBuilder();
sql.append("<choose>");
sql.append("<when test=\"@[email protected](_parameter) and dynamicTableName != null and dynamicTableName != ''\">");
sql.append("${dynamicTableName}\n");
sql.append("</when>");
//不支持指定列的时候查询全部列
sql.append("<otherwise>");
sql.append(tableName);
sql.append("</otherwise>");
sql.append("</choose>");
return sql.toString();
} else {
return tableName;
}
}
示例3: getDynamicTableNameNode
import tk.mybatis.mapper.entity.IDynamicTableName; //导入依赖的package包/类
/**
* 获取表名 - 支持动态表名
*
* @param entityClass
* @return
* @deprecated 4.x版本会移除该方法
*/
@Deprecated
protected SqlNode getDynamicTableNameNode(Class<?> entityClass) {
if (IDynamicTableName.class.isAssignableFrom(entityClass)) {
List<SqlNode> ifSqlNodes = new ArrayList<SqlNode>();
ifSqlNodes.add(new IfSqlNode(new TextSqlNode("${dynamicTableName}"), "@[email protected](_parameter) and dynamicTableName != null and dynamicTableName != ''"));
ifSqlNodes.add(new IfSqlNode(new StaticTextSqlNode(tableName(entityClass)), "@[email protected](_parameter) or dynamicTableName == null or dynamicTableName == ''"));
return new MixedSqlNode(ifSqlNodes);
} else {
return new StaticTextSqlNode(tableName(entityClass));
}
}
示例4: isDynamicParameter
import tk.mybatis.mapper.entity.IDynamicTableName; //导入依赖的package包/类
/**
* 判断参数是否支持动态表名
*
* @param parameter
* @return true支持,false不支持
*/
public static boolean isDynamicParameter(Object parameter) {
if (parameter != null && parameter instanceof IDynamicTableName) {
return true;
}
return false;
}