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