一、下載jar包並導入
jsqlparser-1.3.jar,下載地址: https://mvnrepository.com/artifact/com.github.jsqlparser/jsqlparser/1.3
pagehelper-5.1.6.jar,下載地址:https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper/5.1.6
二、配置config.xml
<plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor" > </plugin> </plugins>
三、接口方法
public interface UserMapper { //分頁查詢 public List<User> selectForPage(User user); }
四、xml
<select id="selectForPage" resultType="User"> select * from user </select>
五、測試
public class myTest { SqlSession session = MyBatisUtils.openSession(); UserMapper userMapper = session.getMapper(UserMapper.class); @Test public void selectForPage1() { User user = new User(); PageBean bean = new PageBean(); bean.setCurrentPage(1); bean.setPageSize(5); Page<User> page = PageHelper.startPage(bean.getCurrentPage(), bean.getPageSize()); /** * 參數1:要查詢第幾頁 * 參數2:每頁條數 * 參數3:是否查詢總條數,默認為true */ List<User> list = userMapper.selectForPage(user); for (User user2 : list) { System.out.println(user2); } System.out.println("總條數"+page.getTotal() + "總頁數"+page.getPages()); MyBatisUtils.closeSession(session); } }
六、實現原理
分頁插件使用這個方法selectAll(user),然后改造方法,重組sql,執行sql 。