思考:為什么要分頁?
- 減少資料的處理量
7.1、使用Limit分頁
語法:SELECT * from user limit startIndex,pageSize;
SELECT * from user limit 3; #[0,n]
使用Mybatis實作分頁,核心SQL
-
介面
//分頁 List<User> getUserByLimit(Map<String,Integer> map); -
Mapper.xml
<!--//分頁--> <select id="getUserByLimit" parameterType="map" resultMap="UserMap"> select * from mybatis.user limit #{startIndex},#{pageSize} </select> -
測驗
@Test public void getUserByLimit(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); HashMap<String, Integer> map = new HashMap<String, Integer>(); map.put("startIndex",1); map.put("pageSize",2); List<User> userList = mapper.getUserByLimit(map); for (User user : userList) { System.out.println(user); } sqlSession.close(); }
7.2、RowBounds分頁
不再使用SQL實作分頁,使用java代碼實作分頁,不推薦使用
-
介面
//分頁2 List<User> getUserByRowBounds(); -
mapper.xml
<!--分頁2--> <select id="getUserByRowBounds" resultMap="UserMap"> select * from mybatis.user </select> -
測驗
@Test public void getUserByRowBounds(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); //RowBounds實作 RowBounds rowBounds = new RowBounds(1, 2); //通過Java代碼層面實作分頁 List<User> userList = sqlSession.selectList("com.loading.dao.UserMapper.getUserByRowBounds",null,rowBounds); for (User user : userList) { System.out.println(user); } sqlSession.close(); }
7.3、分頁插件

mybaits-pagehelper
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/166753.html
標籤:Java
上一篇:mybatis_6日志工廠
