1. 程式人生 > >java-實現分頁功能

java-實現分頁功能

一、常見的分頁實現方式
①使用List介面中的subList(int startIndex,int endIndex)方法實現分頁
②直接使用資料庫SQL語句實現分頁
③使用hibernate等框架實現跨資料庫的分頁
->> 使用subList()實現分頁
缺點:效率低,每次需要把資料全部取出來


 ->> 使用SQL語句實現分頁
  利用資料庫自帶的分頁語法,使用分頁語句,獲取分頁資料(例如mysql資料庫使用limit關鍵字,oracle中使用rownum關鍵字等)
  MySql查詢語句---select * from t_student limit 0,10

 PostgreSQL查詢語句 -- select * from t_student limit 10 offset 0

 Oracle查詢語句 
	-- select * from
	   (
	    select s.*,rownum rn
  	    from (select * from t_student) s
	    where rownum <= 10
	    )
	    where rn >= 1

->> 使用hibernate框架進行分頁
    建立 Query 或者 Criteria 物件 ,查詢時,設定firstResult 和 maxResult屬性
    String hql = "from Student";
    Query q = session.createQuery(hql);
    q.setFirstResult(0);
    q.setMaxResults(10);
    List l = q.list();

另外--MyBatis 本質上是第二種SQL語句的實現

Java 泛型

Java 泛型(generics)是 JDK 5 中引入的一個新特性, 泛型提供了編譯時型別安全檢測機制,該機制允許程式設計師在編譯時檢測到非法的型別。

泛型的本質是引數化型別,也就是說所操作的資料型別被指定為一個引數。

假定我們有這樣一個需求:寫一個排序方法,能夠對整形陣列、字串陣列甚至其他任何型別的陣列進行排序,該如何實現?

答案是可以使用 Java 泛型

使用 Java 泛型的概念,我們可以寫一個泛型方法來對一個物件陣列排序。然後,呼叫該泛型方法來對整型陣列、浮點數陣列、字串陣列等進行排序。


1  異常處理的原則 有了異常經量不要吞掉,應該把它shrows出去,交給上層進行處理
throw RuntiemException(提示資訊 e)
2 使用preparedStatement的好處。將sql語句和引數隔離開,便於維護,防止sql注入(出於安全考慮)
3 載入配置檔案
獲取檔案,InputStream inputstream=類名.class.getResourceAsStream(“配置檔案目錄”)
properties prop=new properties()。載入prop.load(inputStream);在傳值prop、getproperty(屬性名)
方法加入到靜態塊,每次執行jdbcUtil類 載入一次
(修改配置檔案後,重啟伺服器)