mybatis分页查询的实现 ---阿里插件分页查询

Posted 青青子衿啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis分页查询的实现 ---阿里插件分页查询相关的知识,希望对你有一定的参考价值。

一、下载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 。

以上是关于mybatis分页查询的实现 ---阿里插件分页查询的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis实现if trim

MyBatis项目实战实现查询操作

MyBatis项目实战实现查询操作

MyBatis项目实战实现查询操作

mybatis学习笔记(10)-一对一查询

mybatis怎么实现批量查询