分页查询
MyBatis没有提供分页支持,需要自己编写limit语句。
开发中采用PageHelper插件
步骤:
1.导入jar包
2.添加插件
<!-- 插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 方言 -->
<property name="dialect" value="mysql"/>
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
<property name="rowBoundsWithCount" value="true"/>
</plugin>
</plugins>
注:标签plugins要放在settings与environments 中间,因为标签是有先后顺序的
3.使用
public class Test11_Page {
public static void main(String[] args) {
UserMapper userMapper = MyBatisUtils.getMapper(UserMapper.class);
// 设置分页 **
PageHelper.startPage(1,2);
// 查询
List<User> users = userMapper.selectAll();
// 获得封装对象 **
PageInfo<User> pageInfo = new PageInfo<>(users);
// 打印分页信息
long total = pageInfo.getTotal();
List<User> list = pageInfo.getList();
System.out.println("总条数:" + total);
System.out.println("分页数据:");
list.forEach(user -> {
System.out.println(user);
});
MyBatisUtils.commitAndclose();
}
}