1.添加個分頁控件(可選)maven
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.8</version>
</dependency>
2.創(chuàng)建個mybatis配置xml(個人用慣了,沒刻意研究如何用javaconfig搞)
<?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>
<settings>
<!-- 全局映射器啟用緩存 -->
<setting name="cacheEnabled" value="true" />
<!-- 查詢時失都,關(guān)閉關(guān)聯(lián)對象即時加載以提高性能 -->
<setting name="lazyLoadingEnabled" value="true" />
<!-- 設置關(guān)聯(lián)對象加載的形態(tài)后控,此處為按需加載字段(加載字段由SQL指 定)庙曙,不會加載關(guān)聯(lián)表的所有字段,以提高性能 -->
<setting name="aggressiveLazyLoading" value="false" />
<!-- 對于未知的SQL查詢浩淘,允許返回不同的結(jié)果集以達到通用的效果 -->
<setting name="multipleResultSetsEnabled" value="true" />
<!-- 允許使用列標簽代替列名 -->
<setting name="useColumnLabel" value="true" />
<!-- 允許使用自定義的主鍵值(比如由程序生成的UUID 32位編碼作為鍵值)捌朴,數(shù)據(jù)表的PK生成策略將被覆蓋 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 給予被嵌套的resultMap以字段-屬性的映射支持 -->
<setting name="autoMappingBehavior" value="FULL" />
<!-- 對于批量更新操作緩存SQL以提高性能 -->
<!-- <setting name="defaultExecutorType" value="BATCH" /> -->
<!-- 數(shù)據(jù)庫超過25000秒仍未響應則超時 -->
<setting name="defaultStatementTimeout" value="25000" />
<!-- 啟用下劃線與駝峰式命名規(guī)則的映射 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
<plugins>
<!-- com.github.pagehelper為PageHelper類所在包名 -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 4.0.0以后版本可以不設置該參數(shù) -->
<!--<property name="dialect" value="oracle"/>-->
<!-- 該參數(shù)默認為false -->
<!-- 設置為true時,會將RowBounds第一個參數(shù)offset當成pageNum頁碼使用 -->
<!-- 和startPage中的pageNum效果一樣-->
<property name="offsetAsPageNum" value="false"/>
<!-- 該參數(shù)默認為false -->
<!-- 設置為true時张抄,使用RowBounds分頁會進行count查詢 -->
<property name="rowBoundsWithCount" value="true"/>
<!-- 設置為true時砂蔽,如果pageSize=0或者RowBounds.limit = 0就會查詢出全部的結(jié)果 -->
<!-- (相當于沒有執(zhí)行分頁查詢,但是返回結(jié)果仍然是Page類型)-->
<property name="pageSizeZero" value="true"/>
<!-- 3.3.0版本可用 - 分頁參數(shù)合理化欣鳖,默認false禁用 -->
<!-- 啟用合理化時察皇,如果pageNum<1會查詢第一頁,如果pageNum>pages會查詢最后一頁 -->
<!-- 禁用合理化時泽台,如果pageNum<1或pageNum>pages會返回空數(shù)據(jù) -->
<property name="reasonable" value="false"/>
<!-- 3.5.0版本可用 - 為了支持startPage(Object params)方法 -->
<!-- 增加了一個`params`參數(shù)來配置參數(shù)映射什荣,用于從Map或ServletRequest中取值 -->
<!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默認值 -->
<!-- 不理解該含義的前提下,不要隨便復制該配置 -->
<!-- <property name="params" value="pageNum=start;pageSize=limit;"/>-->
</plugin>
</plugins>
</configuration>
3.在這里建立mapper:
image.png
在這里建立dto以及對應的mapper接口(我這里叫DAO):
image.png
4.在application.properties進行配置:
image.png
6.配置調(diào)試打印sql日志(可不配置):
image.png
7.最后讓spring boot掃描:
image.png
測試:
寫了一個mapper方法:
image.png
運行結(jié)果:
image.png
image.png