spring+hibernate+struts1分页问题

问题描述

我在使用Oracle9iDialect进行分页时发现在页面超过20页有时候出现每一页显示和前一页内容一样,后来发现数据库用的是11g而hibernate方言用的是Oracle9iDialect,把Oracle9iDialect换成OracleDialect就没有问题了,求解

解决方案

分页sql是通过dialect生成的OracleDialectpublic String getLimitString(String sql, boolean hasOffset) {sql = sql.trim();boolean isForUpdate = false;if ( sql.toLowerCase().endsWith(" for update") ) {sql = sql.substring( 0, sql.length()-11 );isForUpdate = true;}StringBuffer pagingSelect = new StringBuffer( sql.length()+100 );if (hasOffset) {pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");}else {pagingSelect.append("select * from ( ");}pagingSelect.append(sql);if (hasOffset) {pagingSelect.append(" ) row_ ) where rownum_ <= ? and rownum_ > ?");}else {pagingSelect.append(" ) where rownum <= ?");}if ( isForUpdate ) {pagingSelect.append( " for update" );}return pagingSelect.toString();}Oracle9iDialectpublic String getLimitString(String sql, boolean hasOffset) {sql = sql.trim();boolean isForUpdate = false;if ( sql.toLowerCase().endsWith(" for update") ) {sql = sql.substring( 0, sql.length()-11 );isForUpdate = true;}StringBuffer pagingSelect = new StringBuffer( sql.length()+100 );if (hasOffset) {pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");}else {pagingSelect.append("select * from ( ");}pagingSelect.append(sql);if (hasOffset) {pagingSelect.append(" ) row_ where rownum <= ?) where rownum_ > ?");}else {pagingSelect.append(" ) where rownum <= ?");}if ( isForUpdate ) {pagingSelect.append( " for update" );}return pagingSelect.toString();}唯一不同点:if (hasOffset) {pagingSelect.append(" ) row_ ) where rownum_ <= ? and rownum_ > ?");}红色部分 9i不带
解决方案二:
这都找出来了 nb

时间: 2024-11-05 21:34:20

spring+hibernate+struts1分页问题的相关文章

hibernate进行分页时,sessionFactory为null报空指针异常

问题描述 hibernate进行分页时,sessionFactory为null报空指针异常 从网上查了许都,都没能解决,不知道是配置文件有问题,还是方法写的有问题 解决方案 dao层实现类: /** @ClassName: BaseDaoImpl @Description: 基础dao实现 @author john @date 2015年2月26日 下午3:27:15 */ @SuppressWarnings("unchecked") public abstract class Bas

急求一个Spring+Hibernate对MySQL数据库进行增删改查的例子!!!!

问题描述 现急求一个Spring+Hibernate对MySQL数据库进行增删改查的例子,例子比较简单也可以,主要就是要对数据库进行增删改查操作.如果哪位有的话请发到邮箱(395897780@qq.com),或者告诉我网址也行!最好是能连工程一起打包下载的,能够运行的,由于刚刚开始学,想下个完整的下来,怎样便于分析!!!本人在这里先表示感谢!!!!! 解决方案 解决方案二:其实不用这样,你用工具做,其中的包就可以生成的,注意:Hibernate一定要托管给Spring:之后以前Hibernate

Spring,hibernate,struts经典面试笔试题(含答案)_java

本文讲述了Spring,hibernate,struts经典面试笔试题及其参考答案.分享给大家供大家参考,具体如下: 1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 为什么要用: ① . 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代

java-关于spring+hibernate 注入sessionFactory为null的问题

问题描述 关于spring+hibernate 注入sessionFactory为null的问题 最近一个项目需要用到struts2+spring+hibernate组合框架,我在一点一点的做配置,但做到注入SessionFactory时,一直不成功,在网上搜的一些解决方案也都不适用.故在此发布,希望高手们不吝赐教.web.xml的配置为: <?xml version=""1.0"" encoding=""UTF-8""

Struts+Spring+Hibernate实现上传下载

上传|下载 引言 文件的上传和下载在J2EE编程已经是一个非常古老的话题了,也许您马上就能掰着指头数出好几个著名的大件:如SmartUpload.Apache的FileUpload.但如果您的项目是构建在Struts+Spring+Hibernate(以下称SSH)框架上的,这些大件就显得笨重而沧桑了,SSH提供了一个简捷方便的文件上传下载的方案,我们只需要通过一些配置并辅以少量的代码就可以完好解决这个问题了. 本文将围绕SSH文件上传下载的主题,向您详细讲述如何开发基于SSH的Web程序.SS

浅谈如何结合JDBC事务与Spring+Hibernate

问题:客户在其数据库操作过程中需要调用我们的工作流接口,这样就需要将我们的工作流操作与他 们的业 务操作置于同一个事务中.我们的服务采用的都是spring的声明式事务,而客户采用的是对 connection进行事务处理. 如何保证JDBC事务的一致性? 想到的解决方案一:使用jta事务,用tomcat+jotm提供事务管理器.为什么一开始就想到要使用jta事 务??实际上我们和客户都是使用的同一个数据库,为了方便,各自使用了不同的数据库连接方式,使用 jta的话确实有bt的意思在里面.但是事实上

spring+hibernate避免延迟加载异常

在hibernate中,延迟加载是1个非常大的优点,但有时候却给我们带来一些小麻烦,在后台查询结束后,session已经关闭,但在前台显示的时候,如果存在关联关系就会产生延迟加载异常. 解决办法是客户端每次请求就分配1个session,将请求结果返回给客户端,并完成展现后关闭session. 实现这个功能非常简单,在web.xml中加入以下配置 <filter> <filter-name>hibernateFilter</filter-name> <filter-

Spring+Hibernate乱码解决方案

今天用spring+hibernate进行中文插入时出现乱码问题,通过查资料和自己反复测试终于解决了. 总结了两种方法: 1.使用gb2312编码,变更mysql的数据库编码字符集.cmd模式下用mysql --default-character-set=gb2312 -u root -p进入,然后再每个建表语句后增加default character set gb2312; 重新建立数据表. 值得注意的地方是:applicationContext.xml中的数据库连接必须设置为<propert

浅析Hibernate Struts分页

Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate Struts分页,包括介绍Hibernate查询等方面. 在进行web应用开发的时候经常要对Hibernate Struts分页处理,经常看到一些人在问Hibernate Struts分页处理的问题,现在我把自己的处理方法写在这儿,希望能对需要进行Hibernate Struts分页处理的朋友有所帮助. 一.在Hibernate Struts分页有两种结构: 1. 在Action中通过DAO查询出所有的记录,然后加到se