常见的分页实现方式

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注入,增强安全性。

时间: 2024-08-03 09:22:59

常见的分页实现方式的相关文章

java常见的分页实现方式

1.使用List接口中subList(int startIndex,int endIndex)方法实现分页 2.直接使用数据库SQL语句实现分页 3.使用hibernate等框架实现跨数据库的分页 Mysql查询语句 select * from t_student limit 0,10 PostgreSQL查询语句 select * from t_student limit 10 offset 0 Oracle查询语句 select * from ( select s.*,rownum rn f

几种常见SQL分页方式效率比较-转

原文地址:几种常见SQL分页方式效率比较 分页很重要,面试会遇到.不妨再回顾总结一下. 1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTestuse DBTest --创建测试表create table pagetest(id int identity(1,1) not null,col01 int null,col02 nvarchar(50) null,col03 datetime null) --1万记录集declare @i intset

Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结

最近老是遇见服务器内存溢出的问题,故在网上搜了搜,总结了一些java内存溢出的解决方式 java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小.程序不严密,产生了过多的垃圾. 导致OutOfMemoryError异常的常见原因有以下几种: 内存中加载的数据量过于庞大,如一次从数据库取出过多数据: 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收: 代码中存在死循环或循环产生过多重复的对象实体: 使用的

SQL两种简单分页查询方式

以前我们或许都用过了linq的skip and take方式进行分页查询,但是很少自己写sql的分页查询,因为大多数时候,我们都是在调用别人的方法. 最近看到一个文档,感觉方法里面实现的分页查询进入数据库调用的时候,实际最底层调用的还是SQL的分页查询,例如,我们用linq写个分页查询,转成sql表达式后发现: 实际调用的时候,才发现SQL底层是这样进行分页的. 下面,本文主要是介绍两种SQL的分页查询. 一,TOP方式 ----第一种分页查询方式:TOP方式 declare @page int

[转]Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结

原文地址: http://outofmemory.cn/c/java-outOfMemoryError java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小.程序不严密,产生了过多的垃圾. 导致OutOfMemoryError异常的常见原因有以下几种: 内存中加载的数据量过于庞大,如一次从数据库取出过多数据: 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收: 代码中存在死循环或循环产生过多重复的对

各种常见数据库分页实现(转)

因为数据量过大,如果一次性查询会耗用大量时间以及性能,因此对数据进行分页显示变得尤为重要,以下就列出一些常用数据库的sql分页实现. 1.MySQL实现分页 MySQL实现分页效果比较简单,只有一个limit关键字就可以解决. 示例:SELECT username,password FROM tb_user WHERE id = 1 LIMIT 100,10; 具体:select * from tableName where 条件 limit 当前页码*页面容量-1,页面容量 2.Oralce实

(nginx|apache)+tomcat 几种常见的代理实现方式或连接类型(connector type)

简单描述一下nginx两块网卡,eth1外网,eth0内网与tomcat eth0通信,用户请求静态内容由nginx直接响应,动态内容则nginx转发至后端tomcat响应 安装nginx,tomcat不再描述. nginx的配置文件如下:/etc/nginx/nginx.conf [[email protected] ~]# pnginx worker_processes 1; events { worker_connections 1024; } http { include mime.ty

操作系统基本分页存储管理方式

操作系统基本分页存储管理方式 连续分配内存方式会形成许多"碎片",通过紧凑的方式将碎片拼接成一块大的空间,但是拼接过程系统开销太大.如果允许将一个进程直接分散地装入到许多不相邻的分区中,那么就不需要再进行"紧凑".基于这一思想而产生了离散分配方式.如果离散分配的基本单位是页,则称为分页存储管理方式:如果离散分配的基本单位是段,则称为分段存储管理方式. 在分页管理方式中,如果不具备页面对换功能(将处于阻塞状态且优先级低的进程对换到外存),则称为基本的分页存储管理方式,

常见错误及解决方式

Javaweb项目启动 ,用浏览器查看时,常见错误及解决方式. 1.404错误 1.1 404数字是什么? -------是服务器执行完客户端的请求以后,返回给客户端的一个执行结果的状态编码 1.2  产生的原因 ------Web服务器(容器)根据请求地址找不到对应资源. 如: 地址错误(拼写不正确,字母大小写错误) web.xml文件中的两个<servlet-name>不一致 工程没有部署 Web应用程序部署结构没有遵守Servlet规范 1.3 解决方法 按照http://ip:port