mybatis获取表名_mybatis通用mapper动态查询表名

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 list = confDefaultMapper.selectByExample(condition);

```

生成的sql就是这样了:

````

SELECT module,`key`,`value`,`desc` FROM conf

WHERE ( `key` like '%1%' and `value` like '%1%' ) order by `key` desc

````


版权声明:本文为weixin_39801165原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。