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();
       }
    

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

     

     

      

      

  • 相关阅读:
    理解Linux系统负荷 和 ubuntu静态、动态设置ip地址
    Kafka笔记--监控系统KafkaOffsetMonitor
    Kafka笔记--使用ubuntu为bocker(服务器)windows做producer和comsumer(客户端)
    Android学习笔记--Broadcast, BroadcastReceiver(广播)
    Java学习笔记--xml构造与解析之Sax的使用
    Android学习笔记--存储方案(SharedPreference、文件IO)
    Android学习笔记--Menu菜单的使用
    Android学习笔记--AlertDialog应用
    Kafka笔记--参数说明及Demo
    Kafka笔记--分布式环境搭建
  • 原文地址:https://www.cnblogs.com/CaesarLinsa/p/8045304.html
Copyright © 2011-2022 走看看