用limit实现分页,首先要创建一个Maven项目,搭建好mybatis的实验环境,并且连接好数据库
代码
1,编写dao接口
UserMapper
//查询全部用户实现分页
List<User> selectUser(Map<String,Integer> map);
2,编写对应Mapper映射文件的方法
startIndex:起始位置
startIndex=(currentPage-1)*pageSize
pageSize:页面大小
currentPage:当前页
<select id="selectUserByLimit" parameterType="Map" resultType="User">
select * from user limit #{startIndex},#{pageSize}
</select>
3,测试
模拟分页数据:currentPage,pageSize
@Test
public void selectUser(){
//创建sqlSession
SqlSessionFactory sqlSessionFactory = MyBatisUtils.getSqlSessionFactory();
SqlSession sqlSession = sqlSessionFactory.openSession();
//准备数据
int currentPage = 1;//当前是第几页
int pageSize = 2; //页面大小
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("startIndex",(currentPage-1)*pageSize);
map.put("pageSize",pageSize);
//测试
UserDao mapper = sqlSession.getMapper(UserMapper.class);
List<User> users = mapper.selectUserByLimit(map);
for (User user : users) {
System.out.println(user);
}
sqlSession.close();//关闭连接
}
注意优化别名问题
可以为一个包的所有类指定别名,这个别名为类名
com.kuang.pojo.User - > User
写在你的mybatis配置文件下
<!--优化别名-->
<typeAliases>
<package name="com.Shandx.pojo"/>
</typeAliases>