標籤:erb 配置 col 介面 public pre dynamic value mod
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
mybatis通用mapper動態查詢表名