参考博文: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);