计算分页总页数时 总报错:
org.springframework.jdbc.InvalidResultSetAccessException: SqlSession operation; invalid ResultSet access for SQL []; nested exception is java.sql.SQLException: 无效的列索引
<parameterMap type="map" id="queryAllParamMap">
<parameter property="hotelTxnState" javaType="java.lang.String" jdbcType="VARCHAR"/>
<parameter property="ordercd" javaType="java.lang.String" jdbcType="VARCHAR"/>
<parameter property="transactionNo" javaType="java.lang.String" jdbcType="VARCHAR"/>
<parameter property="chnName" javaType="java.lang.String" jdbcType="VARCHAR"/>
<parameter property="checkindate" javaType="java.util.Date" jdbcType="DATE"/>
<parameter property="checkoutdate" javaType="java.util.Date" jdbcType="DATE"/>
<parameter property="pageNo" javaType="int" jdbcType="INTEGER"/>
<parameter property="pageSize" javaType="int" jdbcType="INTEGER"/>
</parameterMap>
<select id="queryHotelOrderAllInfoPage" parameterMap="queryAllParamMap" resultType="java.lang.Integer" >
SELECT COUNT(*) FROM (
select pch.*,pc.chn_name,pc.class_code_descr, pc.national_code_descr
from pkg_ctshkhotel_hotelorder pch
left join (select distinct hotel_code,chn_name,class_code,class_code_descr,national_code,national_code_descr from PKG_CTSHKHOTELPRICE ) pc
on pch.hkhotelcd=pc.hotel_code and pch.hkhotelroomkind=pc.class_code and pch.hkhotelpricekind=pc.national_code
<where>
<if test="hotelTxnState != '' and hotelTxnState != null">pch.hoteltxnstate=#{hotelTxnState}</if>
<if test="ordercd != '' and ordercd != null">and pch.ordercd like CONCAT(CONCAT('%', #{ordercd}),'%')</if>
<if test="chnName != '' and chnName != null">and pc.chn_name like CONCAT(CONCAT('%', #{chnName}),'%')</if>
<if test="checkindate != null"><![CDATA[and pch.checkindate >= #{checkindate}]]> </if>
<if test="checkoutdate != null"><![CDATA[and pch.checkoutdate <= #{checkoutdate}]]> </if>
<if test="transactionNo != '' and transactionNo != null">
and pch.id in (select orderid from pkg_ctshkhotel_hoteltrace where transactionno like CONCAT(CONCAT('%', #{transactionNo}),'%')
</if>
</where>
order by pch.id desc) t
</select>
调用方式如下:
queryHotelOrderAllInfoPage("", "", "", "", null, null, 1, 5) //调用
就报以上错误!但当所有的参数都为空时就报错,(后面2个参数不算,因为没有用到), 只要前面6个参数传入一个参数就可以得到正确的结果! 郁闷。。。
甚至 把该select 语句改为 :
SELECT COUNT(*) FROM pkg_ctshkhotel_hotelorder
还是报错!
但我把parameterMap 里所有的参数全删掉时就不报错了。
可是我分页的查询语句 也是使用的是 parameterMap , 参数全为空时都可以得到正确的结果。。
留以后有时间再研究研究...
分享到:
相关推荐
mybatis所需要的依赖jar 版本3.2.7; 其中包含mysql-connector-java-5.1.25-bin.jar(mysql驱动包)还有log4j-1.2.17.jar(日志的jar包)
MyBatis是一个强大的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在传统的基于XML或注解的MyBatis配置中,开发者需要编写大量的XML映射文件来定义SQL语句和Java对象之间的关系。然而,随着MyBatis的...
使用时区可能会产生奇怪的结果 所有数据库(AFAIK)将日期存储在UTC(想想纪元)中 因此,joda-time-mybatis将所有日期设置为UTC(对于Joda Instants,不适用于Joda部分课程) 为了获得一致的结果,您的JVM应该 在...
在使用Mybatis框架进行数据库交互时,偶尔会遇到一个奇怪的问题,即在mapper接口中遇到"There is no getter for property"异常。这个异常的出现原因是由于Mybatis框架在映射实体类的属性时,无法找到对应的getter...
但是奇怪的是,如果我不设置QueryWrapper参数,where后面的分页限制又是可以出来的。百思不得其解作者的想法。。。 具体看代码: @Override public PageUtils queryPage(Map<String> params) { IPage...
SpringMVC 这是一个用mybatis 写的...后面修复了一些问题包括因为项目没办法运行成功 RequstHandleMappering 报找不到这个接口的方法 改了两天。。反正各种方法都试过了。。最后重新配置了war包和项目的pom.xml的路径
在开发一个简单的Java Web应用接口,用于删除包含中文字段的数据库记录时,开发者遇到一个奇怪的现象:尽管接口没有返回错误,但实际的数据并没有被删除。开发者尝试在本地环境中使用相同的代码执行删除操作,发现...
最近在用ssm框架(spring+spring MVC +mybatis)进行项目开发的时候,遇到了一个比较奇怪的问题。本地测试所有接口的sql语句都一切正常,但是把项目部署到远端服务器上请求接口就报错:Unknown column ‘’ in ...
项目中应用了 SpringBoot、MyBatis、Redis、RabbitMq、ElasticSearch、BootStrap、Thymeleaf 等技术。项目页面美观大气,完成度较高,前后端不分离的单体架构,非常适合刚刚接触学习 SpringBoot 的技术小白学习,也...
该文件为日志文件,一般mybatis spring mybatis+spring整合的时候都会用到日志文件 如果没有该日志文件 会提示日志文件缺失 项目右键 新建 source Folder 起名为resource 一般日志文件放在这里
所用框架SpringBoot相关工具DruidMyBatisLombokMyBatis PlusMySQL connectorMyBatis Plus Generator项目相关说明写在最前面这个项目一开始就打算用 MyBatis 做,然后之前觉得MyBatis Plus 的自动生成相关代码相当...
只做了面向PC端的页面,非响应式的,手机端浏览起来会有点奇怪技术栈前端:jQuery+map.baidu+Encharts+jQCloud+layui后端:SpringBoot+Mysql8.23+Thymeleaf+Mongodb+Mybatis+PageHelper+HttpClient&Jsoup+selenium网站...
本项目中各种奇怪的代码只是想告诉你,Smart-doc具备应对复杂代码推导生成文档的能力。 其他工具能在该项目上扫描代码生成文档基本也具备了应对大多数公司接口开发文档生成的能力。 官方建议 官方建议使用插件的方式...
4. **数据访问/集成**:Spring提供了对多种数据存储技术的支持,包括JDBC、ORM框架如Hibernate和MyBatis,以及NoSQL数据库。在4.2.4版本中,这些功能得到了优化和增强。 5. **MVC(Model-View-Controller)**:...
在实际开发中,你还可以考虑使用ORM(Object-Relational Mapping)框架如Hibernate或MyBatis,它们在JDBC的基础上提供了更高级别的抽象,简化了数据库操作,降低了出错的可能性。 总的来说,JDBC连接jar包是Java...