七、分页
简单使用
- 1、在要使用Log4j的类中,导入包import org.apache.log4j.Logger;
- 2、日志对象,参数为当前类的class
static Logger logger = Logger.getLogger(UserDaoTest.class);
- 3、日志级别
logger.info("info:进入了testlog4");
logger.debug("debug:进入了debug");
logger.error("error:进入了error");
分页
作用:减少数据的处理量
使用mybatis实现分页,核心SQL
1、接口
/**
* 使用分页技术
*/
public List<User> getUserByLimit(Map<String,Integer> map);
2、Mapper.xml
<!--对查询的用户实现分页-->
<select id="getUserByLimit" parameterType="map" resultType="User">
select * from mybatis.user limit #{startIndex},#{pageSize}
</select>
3、测试
@Test //将查询的用户进行分页处理
public void testLimit() {
SqlSession sqlSession = MyBtaisUtil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String, Integer> map = new HashMap<>();
map.put("startIndex", 0);
map.put("pageSize", 3);
List<User> list = mapper.getUserByLimit(map);
for (User user : list) {
System.out.println(user);
}
sqlSession.close();
}
RownBounds分页
不在使用SQL分页
1、接口
/**
* 分页2
*/
public List<User> getUserByRowBounds();
2、mapper.xml
<!--分页的第二种操作-->
<select id="getUserByRowBounds" resultType="User">
select * from mybatis.user
</select>
3、测试
@Test //分页2
public void testgetUserByRowBounds() {
SqlSession sqlSession = MyBtaisUtil.getSqlSession();
//RowBounds实现
RowBounds rowBounds = new RowBounds(1, 2);
//通过java代码层面实现分页
List<User> userList = sqlSession.selectList("com.zheng.Dao.UserMapper.getUserByRowBounds", null, rowBounds);
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}