mybatis通用mapper動態查詢表名

來源:互聯網
上載者:User

標籤: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動態查詢表名

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.