1:给个@Table注解,给个默认的表名,不写也可以,但是要驼峰转下划线匹配
`@Table(name = “conf_default”)`
2:添加非表字段参数,用于接受动态表名参数
`@Transient`//声明非数据库字段
`private String tableName;`
3:实现接口IDynamicTableName,实现如下方法,2中的属性是返回表名
“`
public String getDynamicTableName() {
return tableName;
}
“`
源码中这样说的:

“`
/**
* 实现动态表名时,实体类需要实现该接口
*
* @author liuzh
* @since 2015-10-28 22:20
*/
public interface IDynamicTableName {

/**
* 获取动态表名 – 只要有返回值,不是null和”,就会用返回值作为表名
*
* @return
*/
String getDynamicTableName();
}
“`
4:使用如下方式动态查询表
“`
Condition condition = new Condition(ConfDefault.class);
condition.setTableName(“conf”);//动态配置表明
condition.createCriteria().andCondition(“`key` like ‘%1%'”).andCondition(“`value` like ‘%1%'”);
condition.setOrderByClause(“`key` desc”);
List<ConfDefault> list = confDefaultMapper.selectByExample(condition);
“`
生成的sql就是这样了:
““
SELECT module,`key`,`value`,`desc` FROM conf
WHERE ( `key` like ‘%1%’ and `value` like ‘%1%’ ) order by `key` desc
““

版权声明:本文为somewhater原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/somewhater/p/9526329.html