分页查询插件在框架中的应用
2017-11-29 22:05
169 查看
让我们先看看原先的分页查询的代码:
一,先要在UserInfoMapper接口中写一个分页查询的方法
/**
* 分页查询用户
* @param start
* @param rows
* @return
*/
List<User> queryUserByPage(Map<String, Integer> map);
二,在UserInfoMapper映射文件中配置sql语句
<select id="queryUserByPage" parameterType="map" resultType="user">
SELECT
`id`,
`user_name`,
`password`,
`name`,
`age`,
`sex`,
`birthday`,
`created`,
`updated`
FROM `user`
LIMIT #{start}, #{rows};
</select>
三,在UserInfoMapperTest测试类中扩展分页查询方法:
@Tes
public void testQueryUserByPage() {
SqlSession sqlSession = sessionFactory.openSession(true);
UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class);
Map<String, Integer> map = new HashMap<>();
map.put("start", 4);
map.put("rows", 2);
List<User> list = mapper.queryUserByPage(map);
for (User user : list) {
System.out.println(user);
}
sqlSession.close();
}
可以发现整个流程还是比较复杂的,代码也挺多.下面是配置了分页插件后,代码得到精减:
步骤:一,在sqlMapConfig.xml中配置分页插件
<!-- com.github.pagehelper为PageHelper类所在包名,分页插件应该配置在通用Mapper上 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql" />
<!-- 该参数默认为false -->
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
<property name="rowBoundsWithCount" value="true" />
</plugin>
步骤二,在UserInfoMapperTest测试类中扩展分页方法
@Test
public void testQueryUserByPageHelp() {
SqlSession sqlSession = sessionFactory.openSession(true);
UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class);
//启动分页(从1开始)
PageHelper.startPage(2, 2);
List<User> list = mapper.select(null);
for (User user : list) {
System.out.println(user);
}
sqlSession.close();
}
注:如要得到总记录数:在遍历之前加上下面这行代码即可
PageInfo<User> info = new PageInfo<>(list);
System.out.println("总记录数为:" + info.getTotal());
一,先要在UserInfoMapper接口中写一个分页查询的方法
/**
* 分页查询用户
* @param start
* @param rows
* @return
*/
List<User> queryUserByPage(Map<String, Integer> map);
二,在UserInfoMapper映射文件中配置sql语句
<select id="queryUserByPage" parameterType="map" resultType="user">
SELECT
`id`,
`user_name`,
`password`,
`name`,
`age`,
`sex`,
`birthday`,
`created`,
`updated`
FROM `user`
LIMIT #{start}, #{rows};
</select>
三,在UserInfoMapperTest测试类中扩展分页查询方法:
@Tes
public void testQueryUserByPage() {
SqlSession sqlSession = sessionFactory.openSession(true);
UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class);
Map<String, Integer> map = new HashMap<>();
map.put("start", 4);
map.put("rows", 2);
List<User> list = mapper.queryUserByPage(map);
for (User user : list) {
System.out.println(user);
}
sqlSession.close();
}
可以发现整个流程还是比较复杂的,代码也挺多.下面是配置了分页插件后,代码得到精减:
步骤:一,在sqlMapConfig.xml中配置分页插件
<!-- com.github.pagehelper为PageHelper类所在包名,分页插件应该配置在通用Mapper上 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql" />
<!-- 该参数默认为false -->
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
<property name="rowBoundsWithCount" value="true" />
</plugin>
步骤二,在UserInfoMapperTest测试类中扩展分页方法
@Test
public void testQueryUserByPageHelp() {
SqlSession sqlSession = sessionFactory.openSession(true);
UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class);
//启动分页(从1开始)
PageHelper.startPage(2, 2);
List<User> list = mapper.select(null);
for (User user : list) {
System.out.println(user);
}
sqlSession.close();
}
注:如要得到总记录数:在遍历之前加上下面这行代码即可
PageInfo<User> info = new PageInfo<>(list);
System.out.println("总记录数为:" + info.getTotal());
相关文章推荐
- 框架 day74 涛涛商城项目整合ssm,分页插件pagehelper,商品列表查询
- mybatis 框架 的应用之二(批量添加、实现分页查询)
- 框架 day50 BOS项目 4 批量导入(ocupload插件,pinyin4J)/POI解析Excel/Combobox下拉框/分区组合条件分页查询(ajax)/分区数据导出(Excel)
- 基于Metronic的Bootstrap开发框架经验总结(16)-- 使用插件bootstrap-table实现表格记录的查询、分页、排序等处理
- 通过bboss persistent框架实现数据库分页查询功能
- SSM框架不用实体类,查询单个对象返回Map,多条记录返回list<Map>,及分页
- hibernate中对象视图导航查询|加载策略---【小白系列】0基础到熟练应用hibernate框架(十四)
- 变脸式应用 / 分页列表框架(三)
- 基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用
- JDBC在javaweb中的应用之分页数据查询
- ssm框架查询数据并实现分页功能示例
- 基于插件技术的GIS应用框架(C# + ArcEngine9.3)(一)
- SSM框架 Mybatis联合查询 多表查询 分页
- 使用bootstraptable插件实现表格记录的查询、分页、排序操作
- [前端插件]Bootstrap Table服务器分页与在线编辑应用总结
- 应用程序框架实战二十四:基础查询扩展 - 分页与排序
- c#动态编译,自己做了个c#脚本管理框架,可以作为其他应用的插件使用。增强程序的拓展性
- ThinkPHP 3.1 框架--分页搜索的应用
- SSM框架下的分页查询显示
- SQL Server 2005 技术内幕 TSQL查询学习笔记chapter4之三排名函数Row_number()和分页应用