常见的分页实现方式

1.MySql查询语句:

  --------  select * from t_student limit 0,10   从第一条开始查,查十条

2.PostgreSQL查询语句: select * form t_student limit 10 offset 0 

3.Oracle查询语句

select * from

(

select s.*, rownum rn

from (select * from t_student) s

where rownum<=10

)

where rn>=1;

4.使用hibernate框架进行分页

创建Query或者Criteria对象,查询时,设置fistResult(第几条开始查)和maxResults(查多少条)

String hql = "from Student";

Query q = session.createQuery(hql);

q.setFistResult(0);

q.setMaxResults(10);

List l = q.list();

分页实现方式的比较:                                                                

     

实现方式 优点         缺点   适用场景 
subList 简单,易用  效率低(每次请求数据的时候都要将所有数据取出来)  无法按需批量获取数据
SQL语句  简单,直接,效率高,   数据库兼容性差 不要求数据库兼容
Hibernate框架 面向对象,兼容性强 复杂查询性能低 可以兼容不同数据库

执行更新的时候使用PrepareStatement,两大好处:

  1.可以将参数与SQL语句隔离,使项目便于维护,让代码更加浅显。

2.可以有效的防止SQL注入,增强安全性。

原文地址:https://www.cnblogs.com/21heshang/p/5790800.html