最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)分頁代碼

 更新時間:2019年09月08日 15:33:50   作者:小小的程序蟲  
這篇文章主要為大家詳細介紹了Java實現(xiàn)分頁代碼,提高查詢效率,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在項目中,分頁是一個項目中必不可少的,它可以防止我們從數(shù)據(jù)庫中進行大量數(shù)據(jù)查詢時速度變慢,提高我們的查詢效率。

1、定義分頁模型:PageModel

 package com.common.page; 
 
 import java.util.List; 
 
 /** 
 * 封裝分頁信息 
 * @author Administrator 
 * 
 */ 
 public class PageModel<E> { 
 
 //結果集 
 private List<E> list; 
  
 //查詢記錄數(shù) 
 private int totalRecords; 
  
 //每頁多少條數(shù)據(jù) 
 private int pageSize; 
  
 //第幾頁 
 private int pageNo; 
  
 /** 
  * 總頁數(shù) 
  * @return 
  */ 
 public int getTotalPages() { 
  return (totalRecords + pageSize - 1) / pageSize; 
 } 
  
 /** 
  * 取得首頁 
  * @return 
  */ 
 public int getTopPageNo() { 
  return 1; 
 } 
  
 /** 
  * 上一頁 
  * @return 
  */ 
 public int getPreviousPageNo() { 
  if (pageNo <= 1) { 
  return 1; 
  } 
  return pageNo - 1; 
 } 
  
 /** 
  * 下一頁 
  * @return 
  */ 
 public int getNextPageNo() { 
  if (pageNo >= getBottomPageNo()) { 
  return getBottomPageNo(); 
  } 
  return pageNo + 1; 
 } 
  
 /** 
  * 取得尾頁 
  * @return 
  */ 
 public int getBottomPageNo() { 
  return getTotalPages(); 
 } 
  
 public List<E> getList() { 
  return list; 
 } 
 
 public void setList(List<E> list) { 
  this.list = list; 
 } 
 
 public int getTotalRecords() { 
  return totalRecords; 
 } 
 
 public void setTotalRecords(int totalRecords) { 
  this.totalRecords = totalRecords; 
 } 
 
 public int getPageSize() { 
  return pageSize; 
 } 
 
 public void setPageSize(int pageSize) { 
  this.pageSize = pageSize; 
 } 
 
 public int getPageNo() { 
  return pageNo; 
 } 
 
 public void setPageNo(int pageNo) { 
  this.pageNo = pageNo; 
 } 
 } 

2、分頁測試:在MySQL中建立admin表,里面有字段id、name、password

3、簡歷Admin的實體bean類:

 package com.common.page; 
 
 public class Admin { 
 private int id; 
 private String name; 
 private String password; 
 public int getId() { 
  return id; 
 } 
 public void setId(int id) { 
  this.id = id; 
 } 
 public String getName() { 
  return name; 
 } 
 public void setName(String name) { 
  this.name = name; 
 } 
 public String getPassword() { 
  return password; 
 } 
 public void setPassword(String password) { 
  this.password = password; 
 } 
 
 } 

4、測試調(diào)用:

 package com.common.page; 
 
 import java.sql.Connection; 
 import java.sql.PreparedStatement; 
 import java.sql.ResultSet; 
 import java.sql.SQLException; 
 import java.util.ArrayList; 
 import java.util.List; 
 
 import com.common.db.DbUtil; 
 
 public class Client { 
 public static PageModel findAdmins(int pageNo,int pageSize){ 
  Connection conn=DbUtil.getConnection(); 
  String sql="select * from admin limit ?,?"; 
  PageModel pageModel=null; 
  PreparedStatement pstm=null; 
  ResultSet rs=null; 
  Admin admin=null; 
  List<Admin> list=new ArrayList<Admin>(); 
  try { 
  pstm=conn.prepareStatement(sql); 
  pstm.setInt(1, (pageNo-1)*pageSize); 
  pstm.setInt(2, pageNo*pageSize); 
  rs=pstm.executeQuery();; 
  while(rs.next()){ 
   admin=new Admin(); 
   admin.setId(rs.getInt("a_id")); 
   admin.setName(rs.getString("a_name")); 
   admin.setPassword(rs.getString("a_pwd")); 
   list.add(admin); 
  } 
  ResultSet rs2=pstm.executeQuery("select count(*) from admin"); 
  int total=0; 
  if(rs2.next()){ 
   total=rs2.getInt(1); 
  } 
  pageModel=new PageModel(); 
  pageModel.setPageNo(pageNo); 
  pageModel.setPageSize(pageSize); 
  pageModel.setTotalRecords(total); 
  pageModel.setList(list); 
  } catch (SQLException e) { 
  e.printStackTrace(); 
  }finally{ 
  DbUtil.close(conn); 
  DbUtil.close(pstm); 
  DbUtil.close(rs); 
  } 
  return pageModel; 
 } 
  
 public static void main(String[] args) { 
  PageModel pageModel=Client.findAdmins(2,4); 
  List<Admin> list=pageModel.getList(); 
  for(Admin a:list){ 
  System.out.print("ID:"+a.getId()+",用戶名:"+a.getName()+",密碼:"+a.getPassword()); 
  System.out.println(); 
  } 
  System.out.print("當前頁:"+pageModel.getPageNo()+" "); 
  System.out.print("共"+pageModel.getTotalPages()+"頁 "); 
  System.out.print("首頁:"+pageModel.getTopPageNo()+" "); 
  System.out.print("上一頁:"+pageModel.getPreviousPageNo()+" "); 
  System.out.print("下一頁:"+pageModel.getNextPageNo()+" "); 
  System.out.print("尾頁:"+pageModel.getBottomPageNo()+" "); 
  System.out.print("共"+pageModel.getTotalRecords()+"條記錄"); 
  System.out.println(); 
 } 
 
 } 

這樣分頁效果就實現(xiàn)了,我們要實現(xiàn)分頁效果,只要傳入相應的參數(shù)和相應的數(shù)據(jù)庫執(zhí)行語句即可實現(xiàn),希望大家能靈活運用。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 使用SpringBoot讀取Windows共享文件的代碼示例

    使用SpringBoot讀取Windows共享文件的代碼示例

    在現(xiàn)代企業(yè)環(huán)境中,文件共享是一個常見的需求,Windows共享文件夾(SMB/CIFS協(xié)議)因其易用性和廣泛的兼容性,成為了許多企業(yè)的首選,在Java應用中,尤其是使用Spring Boot框架時,如何讀取Windows共享文件是一個值得探討的話題,本文介紹了使用SpringBoot讀取Windows共享文件
    2024-11-11
  • springboot3 使用 jasypt 加密配置文件的使用步驟

    springboot3 使用 jasypt 加密配置文件的使用步驟

    在SpringBoot項目中,使用Jasypt加密配置文件可以有效保護敏感信息,首先,需添加Jasypt依賴并配置加密密碼,可在application.properties或通過啟動參數(shù)、環(huán)境變量設置,本文介紹了Jasypt的配置步驟及使用方法,幫助開發(fā)者保護應用配置信息
    2024-11-11
  • 詳解MyBatis自定義Plugin插件

    詳解MyBatis自定義Plugin插件

    這篇文章主要介紹了MyBatis自定義Plugin插件的相關知識,實現(xiàn)方法也很簡單,只需實現(xiàn) Interceptor 接口,并指定想要攔截的方法簽名即可,需要的朋友可以參考下
    2018-06-06
  • java(包括springboot)讀取resources下文件方式實現(xiàn)

    java(包括springboot)讀取resources下文件方式實現(xiàn)

    這篇文章主要介紹了java(包括springboot)讀取resources下文件方式實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • MyBatis簡介與配置MyBatis+Spring+MySql的方法

    MyBatis簡介與配置MyBatis+Spring+MySql的方法

    MyBatis 是一個可以自定義SQL、存儲過程和高級映射的持久層框架。這篇文章主要介紹了MyBatis簡介與配置MyBatis+Spring+MySql的方法,需要的朋友可以參考下
    2017-04-04
  • 1秒鐘實現(xiàn)Springboot?替換/寫入?word文檔里面的文字、圖片功能

    1秒鐘實現(xiàn)Springboot?替換/寫入?word文檔里面的文字、圖片功能

    這篇文章主要介紹了Springboot?替換/寫入?word文檔里面的文字、圖片,1秒鐘實現(xiàn),本文結合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • hibernate存取json數(shù)據(jù)的代碼分析

    hibernate存取json數(shù)據(jù)的代碼分析

    這篇文章主要介紹了hibernate存取json數(shù)據(jù)的代碼分析,需要的朋友可以參考下
    2017-09-09
  • SpringBoot整合Swagger的方法示例

    SpringBoot整合Swagger的方法示例

    這篇文章主要介紹了SpringBoot整合Swagger的方法示例,詳細介紹了SpringBoot如何整合Swagger以及swagger注解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • spring boot+mybatis 多數(shù)據(jù)源切換(實例講解)

    spring boot+mybatis 多數(shù)據(jù)源切換(實例講解)

    下面小編就為大家?guī)硪黄猻pring boot+mybatis 多數(shù)據(jù)源切換(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • java獲取本地文件和遠程文件的方式代碼示例

    java獲取本地文件和遠程文件的方式代碼示例

    這篇文章主要給大家介紹了關于java獲取本地文件和遠程文件的方式,我們項目開發(fā)的時候,經(jīng)常會讀取文件,如果文件在本服務器,則直接用new File()讀取即可,但是有時候需要遠程讀取文件,需要的朋友可以參考下
    2023-08-08

最新評論

汨罗市| 深州市| 武川县| 弥渡县| 江川县| 镇宁| 通榆县| 瓮安县| 辽源市| 磴口县| 那坡县| 万载县| 昌邑市| 闽清县| 津南区| 东平县| 阿鲁科尔沁旗| 辛集市| 蓬莱市| 阿拉善盟| 麟游县| 丹江口市| 二连浩特市| 海淀区| 云安县| 南汇区| 绥阳县| 东至县| 舞钢市| 鄂尔多斯市| 甘谷县| 绥棱县| 玛多县| 潜山县| 田东县| 平顶山市| 新竹市| 泰州市| 蓝山县| 同心县| 佛教|