今天要在sqlserver环境下做一个简单的增删改功能,要用到分页,开始直接用oracle数据库环境一直用的一个jdbc重构过的类处理,发现不行,才想起oracle和sqlserver的分页sql语句写法是很不一样的,于是打算google一下,紧接又想,何不先看看hibernate在sqlserver环境是怎么处理分页的(我这里用的是hibernate 3.0)。
先把hibernate配置文件的show_sql改成true,启动tomcat,在项目原来的一个功能里找到一个翻页的地方,比如每页显示两条,第一页的时候,hibernate的query语句是:SELECT TOP 2 * FROM ... 恩,对的,看来hibernate还比较聪明,第一页直接用top语句,可是点下一页,当查询的记录应是3-4条时,hibernate的query语句是: SELECT TOP 4 * FROM... 不理解了,难道hibernate这么笨吗,如果我要查的是第100万条到100万零10条的记录,难道他也是先把这100万零10条全部查出来吗?但是我测试的结果就是如果我要去第5000页的数据,他就是select top 10000 * from ....这样取出来的。但是如果把sql dialect 改成oracle,处理是用 rownum 直接去取需要的中间那么多条记录的。明天升级到最新的hibernate 3.3试试看会不会这样。难道java的开源框架对sql server这么感冒? 呵呵
监控了下数据库,发现公司的php程序在翻页时也是这样处理的,我就奇怪了,sql server2005中也有rownum概念的啊。看来代码从sql server2000到2005以后还是要做一些优化的
分享到:
相关推荐
不错的分页(Hibernate+sqlserver2000分页)值得大家一看。
一个基于Hibernate 和 SQLServer 数据库的分页示例,所有文件和数据库备份都在,只是速度不怎么快,如果加上自动生成下拉框,速度就更慢了,单表、10008条测试数据,如果哪位大侠改进了查询速度望告之:vni2007@163....
NULL 博文链接:https://aa00aa00.iteye.com/blog/939564
SQLServer2008Dialect 优化了原来的分页查询数据方法以及在生成SQL时表后增加了with(nolock)
hibernate分页Hibernate 分页的设计和编码
不过不是每种数据库的都有这种分页支持的SQL,例如SQL Server就不支持。 4.scroll是利用JDBC2.0的功能做分页的,那么就完全取决于特定数据库的JDBC Driver的实现了。事实上大部分JDBC Driver都是把所有的结果集都...
com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案
开源中国详解地址:... ... 框架的数据持久层将添加、修改、删除、排序、分页、各种条件的查询封装成通用模块,几乎不用手写SQL。 系统后端和前端全部采用官方的最新稳定版本,可直接应用到企业生产环境。
Hibernate+struts分页,数据库是Sqlserver2000,我自己做的,希望大家支持!
spring+hibernate+struts实现分页功能,应用软件eclipse、sqlserver
在使用表格的分页功能时,我们把该控件的start与limits参数与Hibernate的分页功能影射,从页实现了动态的分页效果;而TreePanel的更新也是一个比较常见的问题,当我们点击测试按钮时,TreePanel会请求远程服务器的...
JSF+Spring+Hibernate 分页显示 SQL Server数据库
开发平台:SqlServer 2000+Myeclipse,Struts+Hibernate实现分页功能
关键JS代码已经加入注释,方便理解. 数据库结构比较简单,可以参照hibernate映射文件自己创建数据库,也可以使用文件下的sql脚本生成数据库. IDE:myeclipse 6.0.1 数据库: sqlserver2000
<br>心得: 一、今天才明白使用Hibernate还有一个好处,你可以随便改数据库,你可以一会用oracle,一会用sqlserver,一会用mysql,总之你写成的代码换一种数据库,最多就是改一下那几个xml文件,个人感觉这才是...
该分页用Eclipse3.2+SQLServer2000做的
Struts延伸MVC分层结构,Hibernate持久层实现数据库对象化.Spring实现代理各事务. 再通过学习实现了系统分页,上传,论坛等功能。
利用ssh框架完成远程教育系统.实现功能基本的数据库操作增删改查 以及分页,遍历发帖回帖,validate验证框架等技术
可以实现书籍的增删改查和分页功能,采用MyEclipse+SqlServer
支持Oracle、DB2、SQLServer、MYSQL、数据库。 支持Struts1、Struts2、SpringMvc、Spring、Hibernate3框架。 支持自增主键,复合主键,外键关联。 生成Hibernate POJO类,Dao类,Service类,Action类。 生成保存,...