zoukankan      html  css  js  c++  java
  • 初探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();
       }
    

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

     

     

      

      

  • 相关阅读:
    医疗设备软件的安全性问答
    python使用技巧
    C++对象模型
    面向对象方法综述
    如何设计可扩展性系统架构
    敏捷过程
    python中import的相关知识总结
    软件架构的关键原则
    读后感——程序员的思维修炼
    LINUX系统备份工具
  • 原文地址:https://www.cnblogs.com/CaesarLinsa/p/8045304.html
Copyright © 2011-2022 走看看