初探Mybaties整合分页插件PageHelper(1)

Mybaites整合分页PageHelper插件

在数据进行分页,通过sql语句,mysql分页,table_name表名,pageNum 第几页,pageSize 每页数据条数:

SELECT * FROM  tale_name  LIMIT pageNum=? and pageSize=?

在Oracle中进行分页时,采用RowNum,

SELECT * FROM (SELECT rownum R, u.* FROM 表名 u WHERE rownum <= ?) WHERE R >=?
?=PageNo*PageSize
?=(PageNo-1)*PageSize+1

使用PageHelper插件,先引入pageHelper依赖:

    <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>3.7.5</version>
       </dependency>
在sqlsessionfactory中配置PageHelper插件

    <!--2. 配置sqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!-- 自动扫描mapping.xml文件 -->
        <property name="mapperLocations" value="classpath:mappers/*.xml"></property>
        <!--配置扫描实体类的包 -->
        <property name="typeAliasesPackage" value="com.soft.entity"></property>
        <property name="plugins">
        <bean class="com.github.pagehelper.PageHelper">
            <property name="properties">
                <value>dialect=mysql</value>
            </property>
        </bean>
        </property>
    </bean>

 PageHelper是插件内置用以分页的静态类

  public List<User> selectUserByPage(int pageNum, int pageSize){
        PageHelper.startPage(pageNum, pageSize);  // limit pageNum,pageSize
        List<User> users = userDao.selectAll(); //MyBaties中查询语句
//反射形成mysql分页语句,对List<User>进行分页 return users; }

 在Mapper.xml中配置List<User>全查询

 <select id="selectAll" resultType="User">
     select * from User
 </select>

 在Controller中,从前台传入pageNum,pageSize两个参数,为了便于测试在Controller中使用GET方法

   @RequestMapping(value = "/findUser",method=RequestMethod.GET)
   @ResponseBody
   public String selectUserByPage(int pageNum,int pageSize){
        List<User> users = userService.selectUserByPage(pageNum, pageSize);
        JSONObject obj=new JSONObject();
        for (int i=0;i< users.size();i++) {
            obj.put(i,users.get(i).toString());
        }
        return obj.toString();
   }

 从前台进行查询,结果见下

 

 

  

  

原文地址:https://www.cnblogs.com/CaesarLinsa/p/8045304.html