mybatis学习笔记四:实现MySQL的分页查询

一、什么是MySQL的分页查询

顾名思义,分页查询类似于我们翻书,每一页都有固定的字数(数据)。我们可以根据自己输入的页码数,来查询到对应页码中的所有数据。

二、怎么实现

sql语句为:select * from table_name limit pageStart, pageSize;

这里我们可以看到,要在mybatis中实现分页查询,需要我们传入两个参数。但是之前我们传参使用的属性resultType只能设置一次。结合到Java中集合的知识,我们可以考虑将resultType的value设置为map,即我们传入一个map进来,然后通过#{key}来取到map中对应的value值,这样我们解决了传入多个参数的问题。

mapper代码:

<select id="queryPeopleByPage" resultType="com.zyx.pojo.People" parameterType="map">
	select * from people limit #{pageStart},#{pageSize};
</select>

test测试代码:

		Map<String, Object> map = new HashMap<>();
		int pageSize = 2;
		int pageStart = 3;
		
		map.put("pageStart", pageSize*(pageStart-1));
		map.put("pageSize", pageSize);
		
		List<People> list = session.selectList("com.zyx.mapper.mapper.queryPeopleByPage",                 
                                                 map);
		for (People people : list) {
			System.out.println(people.toString());
		}

猜你喜欢

转载自blog.csdn.net/kanxian9484/article/details/86656048
今日推荐