MyBatis generator生成的Example文件用法

参考博文:https://blog.csdn.net/m0_37795198/article/details/78848045

MyBatis generator用数据库表生成数据代码的时候,除了生成实体的POJO以外,会同时生成Example文件,以及在mapper.xml中生成Example的sql语句。

Example类包含一个内部静态类 Criteria,利用Criteria我们可以在类中根据自己的需求动态生成sql where字句,不用我们自己再修改mapper文件添加或者修改sql语句了,能节省很多写sql的时间。

下面将介绍几种常用的方法(参考上面的博文,这里没有再总结):

1.模糊搜索用户名:

String name = “明”;
UserExample ex = new UserExample();
ex.createCriteria().andNameLike(’%’+name+’%’);
List userList = userDao.selectByExample(ex);

2.通过某个字段排序:

String orderByClause = "id DESC";
UserExample ex = new UserExample();
ex.setOrderByClause(orderByClause);
List<User> userList = userDao.selectByExample(ex);

3.条件搜索,不确定条件的个数:

UserExample ex = new UserExample();
Criteria criteria = ex.createCriteria();
if(StringUtils.isNotBlank(user.getAddress())){
    criteria.andAddressEqualTo(user.getAddress());
}
if(StringUtils.isNotBlank(user.getName())){
    criteria.andNameEqualTo(user.getName());
}
List<User> userList = userDao.selectByExample(ex);

4.分页搜索列表:

pager.setPageNum(1);
pager.setPageSize(5);
UserExample ex = new UserExample();
ex.setPage(pager);
List<User> userList = userDao.selectByExample(ex);

 

MyBatis Generator是一个自动生成实体类、DAO接口和XML映射文件的工具,可以提高开发效率。在使用MyBatis Generator生成的DAO接口中,有一个Example类可以用于构建查询条件。 Example类中包含了Criteria类,用于构建查询条件。Criteria类中有很多方法可以用于添加查询条件,比如: - andXXXEqualTo():添加相等条件; - andXXXNotEqualTo():添加不相等条件; - andXXXGreaterThan():添加大于条件; - andXXXGreaterThanOrEqualTo():添加大于等于条件; - andXXXLessThan():添加小于条件; - andXXXLessThanOrEqualTo():添加小于等于条件; - andXXXLike():添加模糊查询条件; - andXXXNotLike():添加不匹配查询条件; - andXXXIn():添加IN查询条件; - andXXXNotIn():添加NOT IN查询条件。 其中,XXX是数据库表中的列名。 使用Example类构建查询条件的步骤如下: 1. 创建Example对象:`Example example = new Example();` 2. 创建Criteria对象:`Criteria criteria = example.createCriteria();` 3. 使用Criteria对象添加查询条件,比如:`criteria.andNameEqualTo("张三");` 4. 在生成的DAO接口中调用查询方法,比如:`List<User> userList = userDao.selectByExample(example);` 完整示例代码如下: ``` Example example = new Example(); Criteria criteria = example.createCriteria(); criteria.andNameEqualTo("张三"); criteria.andAgeGreaterThan(20); List<User> userList = userDao.selectByExample(example); ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值