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分页插件的更多相关文章

  1. mybatis分页插件以及懒加载

    1.   延迟加载 延迟加载的意义在于,虽然是关联查询,但不是及时将关联的数据查询出来,而且在需要的时候进行查询. 开启延迟加载: <setting name="lazyLoading ...

  2. Mybatis分页插件PageHelper的配置和使用方法

     Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...

  3. Mybatis分页插件PageHelper使用

    一. Mybatis分页插件PageHelper使用  1.不使用插件如何分页: 使用mybatis实现: 1)接口: List<Student> selectStudent(Map< ...

  4. SSM 使用 mybatis 分页插件 pagehepler 实现分页

    使用分页插件的原因,简化了sql代码的写法,实现较好的物理分页,比写一段完整的分页sql代码,也能减少了误差性. Mybatis分页插件 demo 项目地址:https://gitee.com/fre ...

  5. Mybatis分页插件——PageHelper

    1.引入依赖 <!-- mybatis分页插件 --> <dependency> <groupId>com.github.pagehelper</groupI ...

  6. Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper

    引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select ...

  7. Mybatis学习---Mybatis分页插件 - PageHelper

    1. Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,S ...

  8. Mybatis分页插件PageHelper的实现

    Mybatis分页插件PageHelper的实现 前言 分页这个概念在做web网站的时候很多都会碰到 说它简单吧 其实也简单 小型的网站,完全可以自己写一个,首先查出数据库总条数,然后按照分页大小分为 ...

  9. 基于Mybatis分页插件PageHelper

    基于Mybatis分页插件PageHelper 1.分页插件使用 1.POM依赖 PageHelper的依赖如下.需要新的版本可以去maven上自行选择 <!-- PageHelper 插件分页 ...

随机推荐

  1. Centos6.5 设置Tomcat8 service服务实现自启动和服务管理

    Centos6.5 设置Tomcat8 service服务实现自启动和服务管理 将tomcat设置成像apache,nginx一样. 用serviec xxxx start/stop/restart ...

  2. ng-if ng-show ng-hide 的区别

    angularjs ng-if ng-show ng-hide区别 在使用anularjs开发前端页面时,常常使用ng-show.ng-hide.ng-if功能来控制页面元素的显示或隐藏,那他们之间有 ...

  3. mfc打开程序

    void CMy3MFCDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 HINSTANCE hRslt = ShellExecute(NULL, ...

  4. nodejs单元测试

    前言: 之前一直听说过单元测试,但是具体怎么做,也没有深入研究,感觉测试是一件很麻烦的事,花费时间.可能是自己太懒了,一看到测试那么多陌生的东西就不想弄了. 然后一拖再拖,直到最近,换了一家公司,然后 ...

  5. c++中处理输入输出的方法

    ============ 怎么处理一行空格中的逗号, ,,, ,,, ,,, c,c,d,d 使用c++的方法,可以这么处理: #include <sstream> #include< ...

  6. c++ 一些随笔

    1. A region of source code where any use of the unqualified name (that is, as a plain identifier) re ...

  7. url-pattern

    一,servlet容器对url的匹配过程: 当 一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url,比如我访问的是 http://lo ...

  8. Python基础语法(二)

    类中的方法定义前如果有 @staticmethod 则此方法通过类名调用,如:dict.fromkeys() : 如果没有,则此方法通过对象调用 三元运算 name=值1 if 条件 else 值2  ...

  9. JE22环境安装配置(JDK/ANT/TOMCAT/ECLIPSE)

    文章中不涉及安装的均为解压即可直接使用的 1.安装JDK最新的J2EE安装会默认安装GlassFish,安装Java SDK就足够了,不是非要装JavaEE SDK,因为Tomcat的lib目录下,已 ...

  10. unity3d加载默认工程秒退怎么办

    加载Unity3D工程时出现秒退, 怎么尝试都没有用(已经确定了项目路径名称全部为英文). 然后就再也没办法打开Unity3D了,因为一打开它就会默认加载上回的工程. 解决办法: 把最后一次加载的工程 ...