mybatis逆向生成实现Oracle查询分页

需要准备(已知):已连上oracle数据库,已逆向生成实体类,mapper,以及xml

步骤1
1)打开需要分页,对应实体类生成的Example 类,添加成员变量:
protected boolean isLimit;/是否有分页效果/
protected int less ; /分页的下限/ tip:本案例采用左闭右闭
并生成set,get方法
2)之后从此实体类的内部类GeneratedCriteria中添加如下方法:
/**
* rownum <= 80 上限
*/
public Criteria andRownumGreater(int less) {
addCriterion("rownum <= ", String.valueOf(less), “value1”);
return (Criteria) this;
}
例子1
mybatis逆向生成实现Oracle查询分页
例子1(set,get方法)
mybatis逆向生成实现Oracle查询分页
步骤2:(在原查询外嵌套一层查询)
在对应 xml中,找到对应方法的标签,做如下改动:
照葫芦画瓢即可,将select选择的字段复制于 中内容即可,注意别名!Tip:筛选快捷键:ctrl+f
例子2(原)
mybatis逆向生成实现Oracle查询分页
例子2(改后)
mybatis逆向生成实现Oracle查询分页
步骤三,(使用)
三点,
1)调用方才添加的方法:andRownumGreater(int less) //设置上限
2)调用开启分页,setLimit(true);
3)调用设置下限方法,setLess(int greate); //设置下限
注意:注意调用对象!
FilmExample filmExample = new FilmExample();
Criteria createCriteria = filmExample.createCriteria();
createCriteria.andFilmIdIsNotNull();
//相当于 mysql 的 limit
createCriteria.andRownumGreater(less);
if(Greater < less) {
filmExample.setLimit(true);
filmExample.setLess(Greater);
}
调用环节:
List selectByExample = filmMapper.selectByExample(filmExample);

结束,只是小改动,注意细节即可。