1. 程式人生 > >Maven+Mybatis+Spring+SpringMVC實現分頁

Maven+Mybatis+Spring+SpringMVC實現分頁

一、專案搭建

二、分頁外掛的介紹

博主採用的外掛是PageHelper這個外掛,使用起來十分方便。該外掛支援以下資料庫:

Oracle
Mysql
MariaDB
SQLite
Hsqldb
PostgreSQL
DB2
SqlServer(2005+)
Informix
H2

三、PageHelper的使用

在”一、專案搭建“裡下載好了原始碼,下載的原始碼匯入eclipse後的結構裡面,有如下的檔案:

這裡寫圖片描述 這裡寫圖片描述

接下來我們並不需要新增檔案,直接在這些檔案上修改就好了。

3.1、引入依賴

在pom.xml檔案新增如下依賴:

<!-- mybatis分頁外掛依賴 -->
<dependency
>
<groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.0.0</version> </dependency>

3.2、在Mybatis配置xml中配置攔截器外掛

在mybatis-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> <plugins> <!-- com.github.pagehelper為PageHelper類所在包名 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <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="false"/> <!-- 3.5.0版本可用 - 為了支援startPage(Object params)方法 --> <!-- 增加了一個`params`引數來配置引數對映,用於從Map或ServletRequest中取值 --> <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置對映的用預設值 --> <!-- 不理解該含義的前提下,不要隨便複製該配置 --> <property name="params" value="pageNum=start;pageSize=limit;"/> <!-- always總是返回PageInfo型別,check檢查返回型別是否為PageInfo,none返回Page --> <property name="returnPageInfo" value="check"/> </plugin> </plugins> </configuration>

3.3、mapper檔案新增sql

在userMapper.xml檔案裡面新增sql:

<!-- 根據使用者名稱查詢 -->
<select id="selectUserByUserName" parameterType="java.lang.String" resultMap="BaseResultMap">
    SELECT *
    FROM t_user
    WHERE 1 = 1
    <if test="userName != null and userName !=''">
        AND USER_NAME = #{userName,jdbcType=VARCHAR}
    </if>
    ORDER BY USER_ID
</select>

3.4、dao新增對用方法

UserDao.java新增如下方法:

List<User> selectUserByUserName(@Param("userName") String userName);  

記得@Param必須有

3.5、service新增分頁查詢方法

UserService.java檔案新增方法

PageInfo<User> queryByPage(String userName,Integer pageNo,Integer pageSize);

3.6、實現類新增對應實現

UserServiceImpl.java新增實現方法

@Override
public PageInfo<User> queryByPage(String userName, Integer pageNo,Integer pageSize) {
    pageNo = pageNo == null?1:pageNo;
    pageSize = pageSize == null?10:pageSize;
    PageHelper.startPage(pageNo, pageSize);
    List<User> list = userDao.selectUserByUserName(userName);
    //用PageInfo對結果進行包裝
    PageInfo<User> page = new PageInfo<User>(list);
    //測試PageInfo全部屬性
    System.out.println(page.getPageNum());
    System.out.println(page.getPageSize());
    System.out.println(page.getStartRow());
    System.out.println(page.getEndRow());
    System.out.println(page.getTotal());
    System.out.println(page.getPages());
    System.out.println(page.getFirstPage());
    System.out.println(page.getLastPage());
    System.out.println(page.isHasPreviousPage());
    System.out.println(page.isHasNextPage());
    return page;
}  

3.7、單元測試類新增分頁查詢測試方法

UserServiceTest.java檔案新增方法:

@Test  
    public void queryByPageTest(){  
        PageInfo<User> page =  userService.queryByPage(null, 1, 1);
        System.out.println(page);
    }

3.8、執行

在小寶鴿進行了上面的修改之後,第一執行報錯了!!!!最後是pom.xml檔案註釋了下面兩個包的依賴才執行成功了,註釋的依賴如下:

這裡寫圖片描述

具體原因現在小寶鴿也不知道,應該是包有衝突的原因吧,如果猿友們知道原因麻煩私信我或評論解釋一下。

然後執行單元測試類,結果如下:

這裡寫圖片描述

3.9、補充說明

在3.8中,我註釋了那兩個包依賴是web專案相關的依賴,如果仍需要進行前端開發的猿友可以引入tomcat就好了,引入結果如下:

這裡寫圖片描述

引入過程:

選中專案右鍵–>build path,然後如下操作:

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

4、原始碼下載

http://download.csdn.net/detail/jinwufeiyang/9637289

相關推薦

Maven+Mybatis+Spring+SpringMVC實現查詢

XML lec www tails odin build 效果 servle lpad 轉載:http://www.cnblogs.com/zhangtan/p/5846955.html 一、項目搭建 關於項目搭建,小寶鴿以前寫過一篇Spirng+SpringMVC+Ma

Maven+Mybatis+Spring+SpringMVC實現

一、專案搭建 二、分頁外掛的介紹 博主採用的外掛是PageHelper這個外掛,使用起來十分方便。該外掛支援以下資料庫: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) Info

Maven+Mybatis+Spring+SpringMVC實現(oracle)查詢(附原始碼)

關於專案搭建,小寶鴿以前寫過一篇Spirng+SpringMVC+Maven+Mybatis+MySQL專案搭建,這篇文章提供了詳細的搭建過程,而且提供了原始碼下載,接下來的將在這個原始碼的基礎上繼續開發。所以建議各位猿友可以把猿友下載一下。 二、分頁外掛的介紹 博主採用的外掛是PageHelpe

springBoot 使用 mybatis-plus 外掛 實現

一、專案結構 二、pom.xml 依賴新增   (這裡我是加在krystal_dao的pom.xml裡面,單個專案,直接加在pom.xml,多模組根據自己專案情況新增) <dependency> <groupId>com.baomid

Vue+ElementUI+SpringMVC實現

Vue + ElementUI + SpringMVC實現分頁 這一段時間寫專案用到了Vue+ElementUI,這裡記錄一下使用ElementUI內建分頁外掛結合後端SSM框架的實現思路和實現過程。 其中遇到了很多坑,我會盡量把見到的坑都記錄下來,希望對你有

利用Mybatis攔截器實現查詢

手寫Mybatis攔截器 版本 Spring Boot 2.0.3.RELEASE Mybatis自定義攔截器 如果有閱讀過我之前一篇部落格 Hibernate 重新整理上下文 的朋友應該還記得 Hibernate 的上下文中可以新增自定義的事件監聽器。當初是為

mybatis中oracle實現效果

首先當我們需要通過xml格式處理sql語句時,經常會用到< ,<=,>,>=等符號,但是很容易引起xml格式的錯誤,這樣會導致後臺將xml字串轉換為xml文件時報錯,從而導致程式錯誤。   這樣的問題在iBatiS中或者自定義的xml處理sql的程式中經常需要我

Vue下的el-table+spring+hibernate實現操作

之前一直用的是jquery的datatable實現分頁效果,第一次使用vue下的element-ui,此篇部落格記錄一下踩坑後的實現。 首先,html頁面 這邊就不贅述,可去官網看文件 <div id="tabs"> <el-row>

bootstrap+pageHelper+spring boot 實現

後臺通過mybatis外掛pageHelper實現分頁查詢 先上效果圖 maven地址 <dependency> <groupId>com.github.pagehelper</groupId&g

java 工具類+Mybatis攔截SQL實現

轉載!一個比較好的分頁! /**  * 對Page<E>結果進行包裝  * <p/>  * 新增分頁的多項屬性,主要參考:http://bbs.csdn.net/topics/360010907  * @version 3.3.0

Springboot+Mybatis+PageHelper快速實現功能

話不多說,直接上乾貨: pom檔案: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://

Spring/SpringMVC/MyBatis實現

1、DAO層介面List<Teacher> selectAllTeachers(@Param(value="begin")Integer begin, @Param(value="end")Integer end);Integer sele

springMVC 整合 mybatis-paginator 實現

1、引入maven依賴 <dependency> <groupId>com.github.miemiedev</groupId> <artifactId>mybatis-paginator</artifactId>

springmvc+mybatis 實現查詢

一、開發前準備   1.參考:https://www.cnblogs.com/liandy0906/p/9985453.html   2.目的:為簡化分頁功能,設計了一個分頁的JSP標籤,只需要在頁面使用分頁標籤,就可以完成所有頁面的分頁功能。   二、建立類     1.實體類

spring boot 整合mybatis實現功能的例項

1.匯入依賴 在你pom.xml檔案中新增如下整合 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc

spring+springmvc+hibernate,實現功能

效果圖 核心程式碼如下: pagebean.java import java.util.List; public class PageBean<T> { //已知資料 private int pageNum; //當前頁,從請求那邊傳過

spring boot+mybatis實現

今天利用springboot+mybatis分頁外掛實現分頁功能,發現年紀大了,腦子真是不好使,學什麼都慢,springboot用了快一個月了,還是稀裡糊塗的,然後今天想利用mybatis的分頁外掛來實現分頁,發現springboot的分頁外掛不再是原生的mybtatis的分

myBatis學習筆記(10)——使用攔截器實現查詢

條件 iba execute rri itl alias property gen func 1. Page package com.sm.model; import java.util.List; public class Page<T&g

4.IDEA用maven新建spring+springmvc+mybatis的web工程

測試 center -m 支持 書寫 size poj web 訪問 4.IDEA新建maven+springmvc的web工程 1.新建web工程 2.導入框支持 3.配置web.xml 4.配置spring.xml 5.配置spring-mvc.xml 6.配置spri

使用插件pagehelper在mybatis實現查詢

通過 否則 跟著 jar包 自動識別 lds equals 數值 可用 快速參考步驟:   1.  引入jar包 <dependency>  <groupId>com.github.pagehelper</groupId>  <a