澳门新葡亰娱乐网站-www.142net-欢迎您

澳门新葡亰娱乐网站是因为你还没有找到一条正确的致富之路,www.142net是将所有的游戏都汇集在一起的官方平台,因为澳门新葡亰娱乐网站这个网站当中有着大量的游戏攻略,托IP定位技术,传达终端直接到达的精准传播方式。

分页插件PageHelper使用,分页插件PageHelper的运用

来源:http://www.bhtsgq.com 作者:计算机知识 人气:150 发布时间:2019-05-30
摘要:一. 将分页插件包pagehelper-4.1.6.jar导入项目,增添Maven信赖配置: MyBatis分页插件 分页插件PageHelper使用,分页插件PageHelper的运用。Author:SimpleWu 在mybatis中我们必要达成分页效率,固然大

一. 将分页插件包pagehelper-4.1.6.jar导入项目,增添Maven信赖配置:

MyBatis分页插件

分页插件PageHelper使用,分页插件PageHelper的运用。Author:SimpleWu

在mybatis中我们必要达成分页效率,固然大家总是的是mysql我们将要写mysql的分页sql,连接oracle就要写oracle的sql语句,那是很不协和的,而大家针对各类分歧的数据库的分页我们有1个插件PageHelper

1.  引入Maven依赖

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5 
 6     <groupId>com.cjs.example</groupId>
 7     <artifactId>cjs-mybatis-example</artifactId>
 8     <version>0.0.1-SNAPSHOT</version>
 9     <packaging>jar</packaging>
10 
11     <name>cjs-mybatis-example</name>
12     <description></description>
13 
14     <parent>
15         <groupId>org.springframework.boot</groupId>
16         <artifactId>spring-boot-starter-parent</artifactId>
17         <version>2.0.3.RELEASE</version>
18         <relativePath/> <!-- lookup parent from repository -->
19     </parent>
20 
21     <properties>
22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24         <java.version>1.8</java.version>
25     </properties>
26 
27     <dependencies>
28         <dependency>
29             <groupId>org.springframework.boot</groupId>
30             <artifactId>spring-boot-starter-web</artifactId>
31         </dependency>
32         <dependency>
33             <groupId>org.springframework.boot</groupId>
34             <artifactId>spring-boot-starter-thymeleaf</artifactId>
35         </dependency>
36         <dependency>
37             <groupId>org.mybatis.spring.boot</groupId>
38             <artifactId>mybatis-spring-boot-starter</artifactId>
39             <version>1.3.2</version>
40         </dependency>
41         <dependency>
42             <groupId>com.github.pagehelper</groupId>
43             <artifactId>pagehelper-spring-boot-starter</artifactId>
44             <version>1.2.5</version>
45         </dependency>
46 
47         <dependency>
48             <groupId>mysql</groupId>
49             <artifactId>mysql-connector-java</artifactId>
50             <scope>runtime</scope>
51         </dependency>
52         
53         <dependency>
54             <groupId>org.springframework.boot</groupId>
55             <artifactId>spring-boot-starter-test</artifactId>
56             <scope>test</scope>
57         </dependency>
58     </dependencies>
59 
60     <build>
61         <plugins>
62             <plugin>
63                 <groupId>org.springframework.boot</groupId>
64                 <artifactId>spring-boot-maven-plugin</artifactId>
65             </plugin>
66 
67             <!-- http://www.mybatis.org/generator/configreference/xmlconfig.html -->
68             <!-- http://www.mybatis.org/generator/running/runningWithMaven.html -->
69             <!-- mvn mybatis-generator:generate -->
70             <!-- mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate -->
71             <plugin>
72                 <groupId>org.mybatis.generator</groupId>
73                 <artifactId>mybatis-generator-maven-plugin</artifactId>
74                 <version>1.3.7</version>
75             </plugin>
76         </plugins>
77     </build>
78 
79 
80 </project>

一. Mybatis分页插件PageHelper使用

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>4.1.6</version>
</dependency>

PageHelper

那确定是最方便使用的分页插件。分页插件援救任何复杂的单表、多表分页。 援救周边的 12 种数据库。Oracle,MySql,玛丽亚DB,SQLite,DB二, PostgreSQL,SqlServer 等

支撑广大的RowBounds(PageRowBounds), PageHelper.startPage 方法调用, Mapper 接口参数调用

更加多用法参照请官方文书档案:

2.  生成Mapper文件

在src/main/resources下创建八个generatorConfig.xml文件,然后在终端命令行下施行  mvn mybatis-generator:generate 就可以自动生成

实际参见  

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE generatorConfiguration
 3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5 
 6 <!-- http://www.mybatis.org/generator/configreference/xmlconfig.html -->
 7 
 8 <generatorConfiguration>
 9     <classPathEntry location="C:/Users/Administrator/.m2/repository/mysql/mysql-connector-java/5.1.46/mysql-connector-java-5.1.46.jar" />
10 
11     <context id="DB2Tables" targetRuntime="MyBatis3">
12         <jdbcConnection driverClass="com.mysql.jdbc.Driver"
13                         connectionURL="jdbc:mysql://10.123.52.189:3306/oh_coupon"
14                         userId="devdb"
15                         password="d^V$0Fu!/6-&lt;">
16         </jdbcConnection>
17 
18         <javaTypeResolver >
19             <property name="forceBigDecimals" value="false" />
20         </javaTypeResolver>
21 
22         <javaModelGenerator targetPackage="com.cjs.example.model" targetProject="src/main/java">
23             <property name="enableSubPackages" value="false" />
24             <property name="trimStrings" value="true" />
25         </javaModelGenerator>
26 
27         <sqlMapGenerator targetPackage="mapper"  targetProject="src/main/resources">
28             <property name="enableSubPackages" value="false" />
29         </sqlMapGenerator>
30 
31         <javaClientGenerator type="XMLMAPPER" targetPackage="com.cjs.example.dao"  targetProject="src/main/java">
32             <property name="enableSubPackages" value="false" />
33         </javaClientGenerator>
34 
35         <table tableName="tb_coupon" domainObjectName="Coupon" >
36             <ignoreColumn column="FRED" />
37         </table>
38 
39     </context>
40 </generatorConfiguration>

 壹、不选用插件如何分页:

使用mybatis实现:

1)接口:

 

List<Student> selectStudent(Map<String, Object> map);

 

2)mapper.xml:

 

<select id="selectStudent" resultMap="BaseResultMap" parameterType="java.util.Map" >
    select 
    <include refid="Base_Column_List" />
    from student  limit #{pageNum},#{pageSize}
  </select>

 

3)测试:

@Test
    public void TestGetStudent() throws IOException {
        try {        
            StudentMapper mapper=session.getMapper(StudentMapper.class);
            Map<String,Object> map=new HashMap<String,Object>();
            map.put("pageNum", 0);
            map.put("pageSize", 3);
            List<Student> students=mapper.selectStudent(map);

            for(Student student :students)
                System.out.println(student.gettId()   "   "   student.gettName()   "  " student.gettAge() " " student.gettEnterdate() "  " student.gettSid());

        }finally {
            session.close();
    }

    }
  1. 在Mybatis配置文件中增加pagehelper插件配置:

使用方法

累加依据

<dependency>    <groupId>com.github.pagehelper</groupId>    <artifactId>pagehelper</artifactId>    <version>4.1.6</version></dependency><!--由于使用了sql 解析工具--><dependency>    <groupId>com.github.jsqlparser</groupId>    <artifactId>jsqlparser</artifactId>    <version>0.9.6</version></dependency>

在mybatis-config.xml中陈设插件拦截器

 <!-- 插件配置 -->    <plugins>          <!-- com.github.pagehelper为PageHelper类所在包名 -->          <plugin interceptor="com.github.pagehelper.PageHelper">              <!-- 4.0.0以后版本可以不设置该参数 -->              <!-- <property name="dialect" value="mysql"/>   -->            <!-- 该参数默认为false -->              <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->              <!-- 和startPage中的pageNum效果一样-->              <property name="offsetAsPageNum" value="true"/>              <!-- 该参数默认为false -->              <!-- 设置为true时,使用RowBounds分页会进行count查询 -->              <property name="rowBoundsWithCount" value="true"/>              <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->              <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)-->              <property name="pageSizeZero" value="true"/>              <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->              <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->              <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->              <property name="reasonable" value="true"/>              <!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->              <!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->              <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值 -->              <!-- 不理解该含义的前提下,不要随便复制该配置 -->              <property name="params" value="pageNum=start;pageSize=limit;"/>              <!-- 支持通过Mapper接口参数来传递分页参数 -->              <property name="supportMethodsArguments" value="true"/>              <!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->              <property name="returnPageInfo" value="check"/>          </plugin>      </plugins> 

利用办法极其轻便,大家只需求在实行查询直接插入PageHelper.startPage(当前页,每页多少多少)就足以成功分页,总得在进行mapper.findAll()从前插入

public static void main(String[] args) throws IOException {        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        EmployeeMapper mapper = sqlSessionFactory.openSession().getMapper(EmployeeMapper.class);        //设置分页参数        PageHelper.startPage;        List<Employee> lists= mapper.findAll();        //传入结果集获取分页数据        PageInfo<Employee> info = new PageInfo<>;        System.out.println("总记录数:"   info.getTotal;        System.out.println("当前页数:"   info.getPageNum;        System.out.println("每页数:"   info.getPageSize;        System.out.println("总页数:"   info.getPages;        System.out.println("结果集:"   info.getList;    }

3.  application.yml配置

spring:
  datasource:
    url: jdbc:mysql://10.123.52.189:3306/oh_coupon
    username: devdb
    password: d^V$0Fu!/6-<
    driver-class-name: com.mysql.jdbc.Driver
mybatis:
  type-aliases-package: com.cjs.example.model
  mapper-locations: classpath:mapper/*.xml
pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  row-bounds-with-count: true
logging:
  level:
    com.cjs.example.dao: debug

二 使用PageHelper插件怎么样分页:

 

下载地址:

 

图片 1

图片 2

图片 3

图片 4

其它多个地址:

Pagehelper下载地址:

jsqlparser 下载地址:

 

本文由澳门新葡亰发布于计算机知识,转载请注明出处:分页插件PageHelper使用,分页插件PageHelper的运用

关键词: 分页 mybatis 插件 Mybatis分页

上一篇:没有了

下一篇:没有了

最火资讯