Mybatis的分頁外掛pagehelper的簡單使用
對於使用Mybatis時,最頭痛的就是寫分頁,需要先寫一個查詢count的select語句,然後再寫一個真正分頁查詢的語句,當查詢條件多了之後,會發現真不想花雙倍的時間寫count和select,所以這個時候我們可以使用Mybatis的分頁外掛pagehelper
<!-- plugins在配置檔案中的位置必須符合要求,否則會報錯,順序如下: properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,objectWrapperFactory?, plugins?, environments?, databaseIdProvider?, mappers? --> <!-- 配置分頁攔截器外掛:攔截sql語句 --> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <!-- 使用下面的方式配置引數,後面會有所有的引數介紹 --> <property name="supportMethodsArguments" value="true"/> </plugin> </plugins>
接下來使用一個例項來測試:
實體類:
public class Emp { private int empno; private String ename; private String job; private int sal; public int getSal() { return sal; } public void setSal(int sal) { this.sal = sal; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public int getEmpno() { return empno; } public void setEmpno(int empno) { this.empno = empno; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } @Override public String toString() { return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", sal=" + sal + "]"; } }
介面類:
public interface EmpMapper {
public List<Emp> queryEmp(String name);
public List<Emp> queryEmp1(String name,@Param("pageNum") int pageNum,@Param("pageSize") int pageSize);
}
測試類:
public class TestMybatis { // 獲取SqlSession物件 public static SqlSession getSession() { /*這裡的路徑可能你門要改*/ String resource = "config.xml"; InputStream resourceAsStream = TestMybatis.class.getResourceAsStream(resource); // session工廠 負責產生會話 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); // 會話就是打開了和資料庫的連結 SqlSession openSession = sqlSessionFactory.openSession(); return openSession; } /** * * 物理分頁(推薦使用) */ @Test public void test() { SqlSession session = getSession(); EmpMapper mapper = session.getMapper(EmpMapper.class); // 引數是(頁數,每頁的資料量) PageHelper.startPage(0, 3); // 根據分頁將查詢出的資料存到List裡面 List<Emp> queryEmp = mapper.queryEmp("%%"); System.out.println(queryEmp.size()); // 查詢出總資料量 PageInfo pi = new PageInfo(queryEmp); System.out.println(pi.getTotal()); } /** * 引數中的兩個分頁的值必須在介面中打上固定的別名 * 同時在configxml中的配置裡配置屬性:supportMethodsArguments=true * 物理分頁 */ @Test public void test1() { SqlSession session = getSession(); EmpMapper mapper = session.getMapper(EmpMapper.class); List<Emp> queryEmp1 = mapper.queryEmp1("%小%", 2, 10); System.out.println(queryEmp1.size()); // 查詢出總資料量 PageInfo pi = new PageInfo(queryEmp1); System.out.println(pi.getTotal()); } }
config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 這裡是資原始檔路徑 -->
<properties resource="jdbc.properties"></properties>
<!-- 打印出執行日誌 -->
<settings>
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
<!-- 配置分頁攔截器外掛:攔截sql語句 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="supportMethodsArguments" value="true"/>
</plugin>
</plugins>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbcDriver}" />
<property name="url" value="${jdbcUrl}" />
<property name="username" value="${jdbcUsername}" />
<property name="password" value="${jdbcPassword}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/pk/lesson04/pagehelper/empMapping.xml"></mapper>
</mappers>
</configuration>
與介面對應的對映xml檔案: empMapping.xml
<?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">
<!-- 對映檔案規範: namespace屬性不能少 sql語句 >>查詢 必須告知單行返回的型別 -->
<mapper namespace="com.pk.lesson04.pagehelper.EmpMapper">
<select id="queryEmp" resultType="com.pk.lesson04.pagehelper.Emp">
select * from emp where ename like #{0}
</select>
<select id="queryEmp1" resultType="com.pk.lesson04.pagehelper.Emp">
select * from emp where ename like #{0}
</select>
</mapper>
相關推薦
mybatis分頁外掛pageHelper簡單實用
工作的框架spring springmvc mybatis3 首先使用分頁外掛必須先引入maven依賴,在pom.xml中新增如下 <!-- 分頁助手 --> <dependency> <groupId>com.githu
Mybatis分頁外掛PageHelper簡單使用
開發十年,就只剩下這套架構體系了! >>>
mybatis 分頁外掛PageHelper的簡單使用
分頁方式的分類: 邏輯分頁 物理分頁 MyBatis-PageHelper 的使用: 首先在pom.xml配置檔案中增加相關的外掛。 外掛地址:https://github.com/pagehelper/Mybatis-PageHelper <depende
mybatis分頁外掛PageHelper的簡單使用
外掛叫做PageHelper如果你也在用Mybatis,建議嘗試該分頁外掛,這個一定是最方便使用的分頁外掛。 該外掛目前支援Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種資料庫分頁。 使用方法: 第一步:匯入mybatis的分頁jar包。(
SpringBoot整合MyBatis分頁外掛PageHelper
原創作品,可以轉載,但是請標註出處地址:https://www.cnblogs.com/V1haoge/p/9971043.html SpringBoot整合MyBatis分頁外掛PageHelper 步驟 第一步:首先整合MyBatis 參照之前SpringBoot整合MyBatis.md 第二步
Spring Boot實踐——Mybatis分頁外掛PageHelper的使用
出自:https://blog.csdn.net/csdn_huzeliang/article/details/79350425 在springboot中使用PageHelper外掛有兩種較為相似的方式,接下來我就將這兩種方式進行總結。 方式一:使用原生的PageHelper 1.在
【防坑指南】使用Mybatis分頁外掛PageHelper為什麼PageInfo物件出現null的原因
在mybatis中,先匯入pagehelper.jar所需的jar包,然後在sqlMapConfig,xml中配置外掛 <plugins> <!-- com.github.pagehelper為PageHelper類所在包名 --> <plug
Mybatis分頁外掛PageHelper的配置和使用方法
前言 在web開發過程中涉及到表格時,例如dataTable,就會產生分頁的需求,通常我們將分頁方式分為兩種:前端分頁和後端分頁。 前端分頁 一次性請求資料表格中的所有記錄(ajax),然後在前端快取並且計算count和分頁邏輯,一般前端元件(例如dataTable)會提
MyBatis分頁外掛PageHelper的使用
準備工作 在pom.ml中引入依賴 <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter --> <dependency&
Mybatis分頁外掛PageHelper使用
MyBatis分頁外掛 Author:SimpleWu 在mybatis中我們需要實現分頁功能,如果我們連線的是mysql我們就要寫mysql的分頁sql,連線oracle就要寫oracle的sql語句,這是很不友好的,而我們針對各種不同的資料庫的分頁我們有一個外掛PageHelper PageHelpe
基於Mybatis分頁外掛PageHelper實現分頁功能
使用PageHelper外掛實現分頁功能 分頁的功能幾乎是所有專案必備的功能,在SSM(spring 、springmvc、mybatis)組織的專案中如何實現分頁呢? 下面介紹一種基於mybatis的分頁外掛PageHelper來幫助我們實現分頁的功能。
【MyBatis】MyBatis分頁外掛PageHelper的使用
好多天沒寫部落格了,因為最近在實習,大部分時間在熟悉實習相關的東西,也沒有怎麼學習新的東西,這週末學習了MyBatis的一個分頁外掛PageHelper,雖然沒有那麼的強大(我在最後會說明它的缺
MyBatis 分頁外掛 PageHelper 入門介紹
1.簡介 官網:https://pagehelper.github.io/ PageHelper可以說是目前最流行的MyBatis分頁外掛了,它使用起來非常簡單且提供一整套的解決方案。以下,我們以傳統Spring專案為例,介紹如何進行使用。SpringBoot的
05 mybatis分頁外掛pageHelper的使用
1.匯入座標 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version&g
Mybatis分頁外掛PageHelper
1.說明 如果你也在用Mybatis,建議嘗試該分頁外掛,這個一定是最方便使用的分頁外掛。 該外掛目前支援Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種
Mybatis分頁外掛——PageHelper使用與原理介紹
推薦一款Mybatis分頁外掛 以前也寫過一篇博文介紹Mybatis的外掛,以及如何通過Mybatis的外掛功能實現一個自定義的分頁外掛,但是那個外掛的侵入性是比較大的。前段時間遇到了
Mybatis分頁外掛-PageHelper簡介
dialect:預設情況下會使用 PageHelper 方式進行分頁,如果想要實現自己的分頁邏輯,可以實現 Dialect(com.github.pagehelper.Dialect) 介面,然後配置該屬性為實現類的全限定名稱。 下面幾個引數都是針對預設 dialect 情況下的引數。使用自定義 dia
Spring中整合Mybatis分頁外掛PageHelper
1. 使用Maven方式引入分頁外掛 在pom.xml中新增如下依賴: <dependency> <groupId>com.github.pagehelper</groupId> <artif
easyui 分頁 + mybatis 分頁外掛 PageHelper 完成分頁顯示功能(SpringMVC + mybatis 框架)
1、使用 easyUI datagrid 完成前臺分頁展示 <table id="dg" title="產品管理" style="width:700px;height:550px"> <thead>
Mybatis分頁外掛-PageHelper(5.0)的使用
轉:http://blog.csdn.net/u012728960/article/details/50791343 maven依賴 <!-- pagehelper分頁外掛 --> <dependency> <groupId>com