Mybatis分页插件
mybatis配置
<!-- mybatis分页插件 -->
<bean id="pagehelper" class="com.github.pagehelper.PageHelper">
<property name="properties">
<props>
<prop key="offsetAsPageNum">true</prop>
<prop key="rowBoundsWithCount">true</prop>
<prop key="pageSizeZero">true</prop>
<prop key="reasonable">false</prop>
<prop key="supportMethodsArguments">false</prop>
</props>
</property>
</bean> <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:com/*/mapping/*.xml"></property>
<property name="plugins">
<list>
<!-- <ref bean="offsetLimitIntercepter" /> -->
<ref bean="pagehelper" />
</list>
</property>
</bean>
java 类,写一个class继承这个抽象类
public abstract class AbstractPageForm<T extends AbstractPageForm<T>> implements Serializable {
private static final long serialVersionUID = 1L;
/**
* @Description 页码为首页
*/
@DefaultValue("1")
@QueryParam("pageNum")
protected int pageNum = 1;
/**
* @Description 每页显示数量,默认为10
*/
@DefaultValue("10")
@QueryParam("pageSize")
protected int pageSize = 10;
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* @Title enablePaging
* @Description 启用分页
* @return
*/
@SuppressWarnings("unchecked")
public final T enablePaging() {
PageHelper.startPage(pageNum, pageSize);
return (T) this;
}
}
mapper.xml (CourseForm继承了AbstractPageForm的抽象类)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.*.*DAO" >
<resultMap id="BaseResultMap" type="com.*.Class" >
<id column="id" property="id" jdbcType="INTEGER" /> </resultMap> <select id="selectCourseList" resultMap="BaseResultMap" parameterType="com.*.form.CourseForm" >
select
<include refid="Base_Column_List" />
from TABLE_NAME
</select> </mapper>
分页类示例:
@Override
public PageInfo<Class> queryList(CourseForm courseForm) {
//Class需要替换成自己的类
List<Class> selectList = organizationDAO.selectList(courseForm.enablePaging());
PageInfo<Class> pageInfo = new PageInfo<Class>(selectList);
return pageInfo;
}
pageInfo,POM配置
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.5</version>
</dependency>
Mybatis分页插件的更多相关文章
- mybatis分页插件以及懒加载
1. 延迟加载 延迟加载的意义在于,虽然是关联查询,但不是及时将关联的数据查询出来,而且在需要的时候进行查询. 开启延迟加载: <setting name="lazyLoading ...
- Mybatis分页插件PageHelper的配置和使用方法
Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...
- Mybatis分页插件PageHelper使用
一. Mybatis分页插件PageHelper使用 1.不使用插件如何分页: 使用mybatis实现: 1)接口: List<Student> selectStudent(Map< ...
- SSM 使用 mybatis 分页插件 pagehepler 实现分页
使用分页插件的原因,简化了sql代码的写法,实现较好的物理分页,比写一段完整的分页sql代码,也能减少了误差性. Mybatis分页插件 demo 项目地址:https://gitee.com/fre ...
- Mybatis分页插件——PageHelper
1.引入依赖 <!-- mybatis分页插件 --> <dependency> <groupId>com.github.pagehelper</groupI ...
- Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper
引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select ...
- Mybatis学习---Mybatis分页插件 - PageHelper
1. Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,S ...
- Mybatis分页插件PageHelper的实现
Mybatis分页插件PageHelper的实现 前言 分页这个概念在做web网站的时候很多都会碰到 说它简单吧 其实也简单 小型的网站,完全可以自己写一个,首先查出数据库总条数,然后按照分页大小分为 ...
- 基于Mybatis分页插件PageHelper
基于Mybatis分页插件PageHelper 1.分页插件使用 1.POM依赖 PageHelper的依赖如下.需要新的版本可以去maven上自行选择 <!-- PageHelper 插件分页 ...
随机推荐
- java web的开发 知识要点
近期闲下来时写的一个有关 java web的开发 的 常用架构 的总结,用于初 学 者或团队新人培训. Java开发初步.ppt SSH 为 struts+spring+hibernate 的一个集 ...
- iis WebSocket 搭建环境及配置
http://www.86y.org/art_detail.aspx?id=816 WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,S ...
- sqlite里执行查询提示未启用约束、主键冲突之——数据竟能超字段长度存储
数据表设计如图:szflbm为主键 数据表主键数据: 以上数据在查询时,执行到该语句adapter.Fill(table); 提示主键冲突. 解决: 1.尝试修改数据,把ZC1改成ZZ,正常.说明原因 ...
- PHP手机,邮箱正则匹配
/*此处用于验证手机*/ $phone_preg = '/^1[3|4|5|7|8]\d{9}$/'; $email_preg = '/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+) ...
- tinyPng Photoshop Plugin 安装的坑
一定要注意两点: 第一: 注册表注册路径要修改为自己安装ps cc时的注册表路径[HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Photoshop\70.0]第二: Applic ...
- SQLite常用语句
// 错误存储路径 - (NSString *)dataFilePath{ NSString *dbPath = [NSSearchPathForDirectoriesInDomains(NSLibr ...
- C# 进程间通信之二传递复杂数据类型(转)
从C#下使用WM_COPYDATA传输数据说到Marshal的应用 笔者曾在一个项目的实施过程中,需要使用WM_COPYDATA在本地机器的两个进程间传输数据.在C++中实现非常简单,但在C#中实现时 ...
- 【摘】Mysql备份还原数据库之mysqldump实例及参数详细说明
原文http://www.cnblogs.com/xuejie/archive/2013/01/11/2856911.html 我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一 ...
- Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.
问题: Azure Sql 在插入数据是出现“Msg 40054, Level 16, State 1, Line 2 Tables without a clustered index are no ...
- Unreal Engine 4 一些小技巧或提示
怎样获取当前地图的名字 在任意Actor类里,GetWorld()->GetName()就可以获得当前地图的名字