1. 程式人生 > >Spring+Mybatis+SpringMVC後臺與前臺分頁展示例項

Spring+Mybatis+SpringMVC後臺與前臺分頁展示例項

摘要:本文實現了一個後臺由spring+Mybatis+SpringMVC組成,分頁採用PageHelper,前臺展示使用bootstrap-paginator來顯示效果的分頁例項。整個專案由maven構成。這裡主要講了分頁的例項,框架怎麼搭建就不再說明,主要是在這裡的基礎上來增加分頁功能的。注意,此文是在這個基礎Spring+Mybatis+SpringMVC+Maven+MySQL搭建例項 之上來做分頁的,建議文中看不懂的配置可以看看這裡。

整個工程下載(舊版本,日誌列印使用log4j,資料庫配置放在properties檔案)

新版本下載:https://github.com/appleappleapple/ssm_project

(日誌列印使用logback,資料庫配置放在POM.XML)博主推薦使用新版本,而且這裡詳細說明了整個工程應用的框架,資料來源配置,SQL語句等等!

重要的事情說三遍:請下新版本~請下新版本~請下新版本~

最後的結果如下:


環境:jdk1.6

         Tomcat 7.0

         Eclipse luna/windows 7    

一、後臺PageHelper使用

PageHelper:https://github.com/pagehelper/Mybatis-PageHelper

1、引入jar包

  1. <!-- 新增分佈外掛的包pagehelper -->
  2. <dependency>
  3.     <groupId>com.github.pagehelper</groupId>
  4.     <artifactId>pagehelper</artifactId>
  5.     <version>4.0.0</version>
  6. </dependency>

2.mybatis-config.xml中新增外掛
  1. <plugins>
  2.     <!-- com.github.pagehelper為PageHelper類所在包名 -->
  3.     <plugininterceptor="com.github.pagehelper.PageHelper">
  4.         <propertyname="dialect"value="mysql"/>
  5.         <!-- 該引數預設為false -->
  6.         <!-- 設定為true時,會將RowBounds第一個引數offset當成pageNum頁碼使用 -->
  7.         <!-- 和startPage中的pageNum效果一樣-->
  8.         <propertyname="offsetAsPageNum"value="true"/>
  9.         <!-- 該引數預設為false -->
  10.         <!-- 設定為true時,使用RowBounds分頁會進行count查詢 -->
  11.         <propertyname="rowBoundsWithCount"value="true"/>
  12.         <!-- 設定為true時,如果pageSize=0或者RowBounds.limit = 0就會查詢出全部的結果 -->
  13.         <!-- (相當於沒有執行分頁查詢,但是返回結果仍然是Page型別)-->
  14.         <propertyname="pageSizeZero"value="true"/>
  15.         <!-- 3.3.0版本可用 - 分頁引數合理化,預設false禁用 -->
  16.         <!-- 啟用合理化時,如果pageNum<1會查詢第一頁,如果pageNum>pages會查詢最後一頁 -->
  17.         <!-- 禁用合理化時,如果pageNum<1或pageNum>pages會返回空資料 -->
  18.         <propertyname="reasonable"value="false"/>
  19.         <!-- 3.5.0版本可用 - 為了支援startPage(Object params)方法 -->
  20.         <!-- 增加了一個`params`引數來配置引數對映,用於從Map或ServletRequest中取值 -->
  21.         <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置對映的用預設值 -->
  22.         <!-- 不理解該含義的前提下,不要隨便複製該配置 -->
  23.         <propertyname="params"value="pageNum=start;pageSize=limit;"/>
  24.     </plugin>
  25. </plugins>
這樣子就引入進來了,接下來就是來開始分頁功能的實現

3、mapper檔案中新增如下一個方法:

  1. <selectid="selectUserByUserName"parameterType="java.lang.String"resultMap="BaseResultMap">
  2.     SELECT *  
  3.     FROM t_user  
  4.     WHERE 1 = 1
  5.     <iftest="userName != null and userName !=''">
  6.         AND USER_NAME = #{userName,jdbcType=VARCHAR}  
  7.     </if>
  8.     ORDER BY USER_ID  
  9. </select>

注意,這裡的返回其實是一個list
  1. <!--設定domain類和資料庫中表的欄位一一對應,注意資料庫欄位和domain類中的欄位名稱不致,此處一定要! -->
  2. <resultMapid="BaseResultMap"type="com.lin.domain.User">
  3.     <idcolumn="USER_ID"property="userId"jdbcType="INTEGER"/>
  4.     <resultcolumn="USER_NAME"property="userName"jdbcType="CHAR"/>
  5.     <resultcolumn="USER_PASSWORD"property="userPassword"jdbcType="CHAR"/>
  6.     <resultcolumn="USER_EMAIL"property="userEmail"jdbcType="CHAR"/>
  7. </resultMap>

4、然後就是dao類
  1. /**  
  2.  *   
  3.  * @author linbingwen  
  4.  * @since  2015年10月22日   
  5.  * @param userName  
  6.  * @return  
  7.  */  
  8. List<User> selectUserByUserName(@Param("userName") String userName);  

這裡一定的記得加@Param("userName")

接下來就可以在service層中新增分頁查詢的的介面了

5、介面類

  1. /**  
  2.  *   
  3.  * @author linbingwen  
  4.  * @since  2015年10月23日   
  5.  * @param userName 查詢條件,可為空  
  6.  * @param pageNo 查詢條件,可為空,預設取1  
  7.  * @param pageSize 查詢條件,可為空,預設取10  
  8.  * @return  
  9.  */  
  10. PagedResult<User> queryByPage(String userName,Integer pageNo,Integer pageSize);  
6、實現類
  1. public PagedResult<User> queryByPage(String userName,Integer pageNo,Integer pageSize ) {  
  2.     pageNo = pageNo == null?1:pageNo;  
  3.     pageSize = pageSize == null?10:pageSize;  
  4.     PageHelper.startPage(pageNo,pageSize);  //startPage是告訴攔截器說我要開始分頁了。分頁引數是這兩個。  
  5. 相關推薦

    Spring+Mybatis+SpringMVC後臺前臺展示例項

    摘要:本文實現了一個後臺由spring+Mybatis+SpringMVC組成,分頁採用PageHelper,前臺展示使用bootstrap-paginator來顯示效果的分頁例項。整個專案由maven構成。這裡主要講了分頁的例項,框架怎麼搭建就不再說明,主要是在這裡的基

    Spring + Mybatis 使用 PageHelper 插件

    創建 always 管理 參數 clip eth junit gen plugins 轉載:http://blog.csdn.net/joker_zhou/article/details/50418005 先增加maven依賴: [html] view plain

    spring-mybatis配置檔案中新增查詢功能

    先將包匯入 然後在resource下面新建mybatisConfig.xml檔案,內容如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//myb

    JavaWeb從新手到入門(四)Spring Mybatis使用pageHelper實現物理

    一、分頁 對JavaWeb來說,分頁是十分常見的一種需求,一般來說資料的專案大於單次可顯示的條目,因此當查詢時需要對查詢得到的結果進行分頁顯示。 二、MyBtais分頁方法的分類 Mybatis被稱為半自動化的ORM框架,因為相比hibernate而言,其對SQL操作的遮

    外掛pagehelper初使用,前端傳遞當前頁碼條數後臺接受實現

    最新的專案用到了pagehelper分頁外掛,在此做下筆記方便以後檢視!同時也希望能對別人產生幫助。 1.因為專案是maven進行管理的,所以:第一步就是在pom.xml檔案中引入pagehelper分頁外掛。 <dependency> <groupId>com

    Spring Boot2 + Mybatis 整合(Mybatis自動生成外掛、外掛)

    內容: Spring Boot2 + Mybatis 整合 Mybatis Generator自動生成程式碼 Mybatis PageHelper分頁外掛

    整理不易,且整且珍惜 2.開發環境的搭建 3.Eclipse的相關配置 4.使用maven建立web專案 5.Spring+Mybatis+SpringMVC整合 6.mybatis自動生成程式碼 7.springmybatis整合中Junit的測試 8.maven專案的啟動 9.Restful

    整理不易,且整且珍惜 2.開發環境的搭建 3.Eclipse的相關配置 4.使用maven建立web專案 5.Spring+Mybatis+SpringMVC整合 6.mybatis自動生成程式碼

    Spring整合MyBatis 通用Mapper以及 pagehelper外掛

         先在spring 配置檔案加上這個 <bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer"> <

    datatable指南--前臺後臺

    一、介紹 Datatables是一款jQuery表格外掛。它是一個高度靈活的工具,可以將任何HTML表格新增高階的互動功能。 分頁,即時搜尋和排序幾乎支援任何資料來源:DOM, javascript, Ajax 和 伺服器處理支援不同主題 DataTables, jQuery UI, Boot

    Mybatis外掛limit

    1.mybatis自帶的分頁RowBounds; Mybatis提供了一個簡單的邏輯分頁使用類RowBounds(物理分頁當然就是我們在sql語句中指定limit和offset值),在DefaultSqlSession提供的某些查詢介面中我們可以看到RowBounds是作

    (轉)mybatis數據庫物理插件PageHelper

    tps postgresq 如果 param ble 邊界 適合 static 方法   以前使用ibatis/mybatis,都是自己手寫sql語句進行物理分頁,雖然稍微有點麻煩,但是都習慣了。最近試用了下mybatis的分頁插件 PageHelper,感覺還不錯吧。記錄

    MyBatis精通之路之功能的實現

    avi 一個 冗余 details 結果 nature ann email ret MyBatis精通之路之分頁功能的實現(數組分頁、sql分頁、攔截器,RowBounds分頁) 原創 2017年04月27日 21:34:48 標簽: mybatis / java /

    spring-mybatis-springMVC 整合

    spl 分享 doc 數據庫連接 welcom encoding tro ren strong 這是一個spring mybatis springMVC 的整合 裏面包括日誌,druid,的配置。可以說是一個現成的模板,直接復制下來就能用。 首先是web.xml web.x

    MiniUI前臺,假實現源碼

    MiniUI 假分頁背景對於數據較少,無需後臺分頁的需求,可使用以下解決方案方案MiniUI提供了監聽事件,特別方便即可實現。源碼mini.parse(); var grid = mini.get("datagridTable"); // 獲取所有數據和總記錄數 { tot

    Spring+Mybatis+SpringMVC+Maven+MySql(SSM框架)搭建例項

    這篇文章我們來實現使用maven構建工具來搭建Spring+Mybatis+SpringMVC+MySql的框架搭建例項。工程下載 使用maven當然得配置有關環境了,不會配置的請看我前幾篇文章,都有配置maven環境的列子! MySQL建立表sql語句: /* Navicat M

    Spring+Mybatis+SpringMVC整合

    1、建立工程匯入jar包 2、配置Mybatis、SpringMvc檔案 Mybatis核心檔案、資料庫.properties 、sql 對映檔案、SpringMvc核心檔案、web.xml配置檔案   <?xml version="1.0" encoding=

    SpringBoot2.0整合Mybatis+HikariCP連線池+generator+mysql

    新增所需要的依賴 <dependencies> <!--包含了HikariCP執行緒池和spring-jdbc--> <dependency> <groupId>org.springframework.boot</gro

    資料前臺

    完整程式碼 <template> <div style="height:1000px;"> <el-table :data="datalist" style="width: 100%">

    後臺管理實現顯示----核心物件

    需求 實現簡單的分頁管理資料的頁面功能,類似下面 採用物理分頁方式:即每開啟一頁都互動從後臺取回需要頁資料 同時也有邏輯分頁方式,就是一次互動,後臺把所有的所有頁面資料一起發過來,前端自己分頁顯示。雖互動簡單,但也不沒了實時性,不提倡。 解決方法 物

    springMVC+JSP+jQuery做查詢示例

    單獨做一個分頁JSP,程式碼如下: <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <span id="pageId"> <a class="first"&