分页插件PageHelper
来源:互联网 发布:苹果手机怎么查mac地址 编辑:程序博客网 时间:2024/05/23 21:24
1.1.1.1 分页插件PageHelper
1.1.1.1.1 官方网站:
https://github.com/pagehelper/Mybatis-PageHelper/tree/master/src/main/java/com/github/pagehelper
1.1.1.1.2
实现原理
1.1.1.1.3 使用方法
第一步:引入pageHelper的jar包。
第二步:需要在SqlMapConfig.xml中配置插件。
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 配置分页插件 --><plugins><plugin interceptor="com.github.pagehelper.PageHelper"><!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库--> <property name="dialect" value="mysql"/></plugin></plugins></configuration>
第三步:在查询的sql语句执行之前,添加一行代码:
PageHelper.startPage(1, 10);
第一个参数是page,要显示第几页。
第二个参数是rows,没页显示的记录数。
第四步:取查询结果的总数量。
创建一个PageInfo类的对象,从对象中取分页信息。
1.1.1.1.4 分页测试
public class TestPageHelper { @Testpublic void testPageHelper() {//创建一个spring容器ApplicationContext applicationContext =new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");//从spring容器中获得Mapper的代理对象TbItemMapper mapper = applicationContext.getBean(TbItemMapper.class);//执行查询,并分页TbItemExample example = new TbItemExample();//分页处理PageHelper.startPage(2, 10);List<TbItem> list = mapper.selectByExample(example);//取商品列表for (TbItem tbItem : list) {System.out.println(tbItem.getTitle());}//取分页信息PageInfo<TbItem> pageInfo = new PageInfo<>(list);long total =pageInfo.getTotal();System.out.println("共有商品:"+total);}}
注意:分页插件对逆向工程生成的代码支持不好,不能对有查询条件的查询分页。会抛异常。
使用我修改过的版本就可以了。
Dao可以实现逆向工程生成的mapper文件+PageHelper实现。
1.1.1 Service层
接收分页参数,一个是page一个是rows。调用dao查询商品列表。并分页。返回商品列表。
返回一个EasyUIDateGrid支持的数据格式。需要创建一个Pojo。此pojo应该放到taotao-common工程中。
public class EUDataGridResult { private long total;private List<?> rows;public long getTotal() {return total;}public void setTotal(long total) {this.total =total;}public List<?> getRows() {return rows;}public void setRows(List<?>rows) {this.rows =rows;}}
代码实现
/** * 商品列表查询 * <p>Title: getItemList</p> * <p>Description:</p> * @param page * @param rows * @return * @see com.taotao.service.ItemService#getItemList(long, long) */@Overridepublic EUDataGridResult getItemList(int page,int rows) {//查询商品列表TbItemExample example = new TbItemExample();//分页处理PageHelper.startPage(page, rows);List<TbItem> list = itemMapper.selectByExample(example);//创建一个返回值对象EUDataGridResult result = new EUDataGridResult();result.setRows(list);//取记录总条数PageInfo<TbItem> pageInfo = new PageInfo<>(list);result.setTotal(pageInfo.getTotal());return result;}
1.1.2 Controller
接收页面传递过来的参数page、rows。返回json格式的数据。EUDataGridResult
需要使用到@ResponseBody注解。
@RequestMapping("/item/list")@ResponseBodypublic EUDataGridResult getItemList(Integer page, Integer rows) {EUDataGridResult result = itemService.getItemList(page, rows);return result;}
阅读全文
0 0
- MyBatis分页插件PageHelper
- mybatis分页插件pagehelper
- Mybaties PageHelper分页插件
- Mybatis分页插件-pagehelper
- Mybatis分页插件 - PageHelper
- Mybatis分页插件PageHelper
- PageHelper分页插件使用
- 分页插件PageHelper
- Mybatis分页插件PageHelper
- PageHelper分页插件使用
- 分页插件PageHelper
- MyBatis分页插件PageHelper
- mybatis插件分页PageHelper
- Mybatis分页插件PageHelper
- 分页插件PageHelper使用方法
- 分页插件pageHelper
- 分页插件PageHelper
- Java分页插件--PageHelper
- 继承
- 关于sdnu1095和擂台法的运用
- 深入理解移动端像素知识与Viewport知识
- mapreduce自定义排序
- opencv检测图片模糊度算法
- 分页插件PageHelper
- 【bzoj2064】分裂
- 打开android 系统的相机,拍照并且图片返回
- 对决策树的一些理解
- Android studio加速编译
- java程序员从笨鸟到菜鸟之(二十一)正则表达式
- sql不走索引的情况合集
- ABP官方文档(四十五)【集成Hangfire】
- QT自学笔记(二)