首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Mybatis 奇怪有关问题

2012-08-31 
Mybatis 奇怪问题计算分页总页数时 总报错: org.springframework.jdbc.InvalidResultSetAccessException:

Mybatis 奇怪问题

计算分页总页数时 总报错:

 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 , 参数全为空时都可以得到正确的结果。。

?

留以后有时间再研究研究...

?

?

?

1 楼 xiaocao000 2012-04-18   这个问题有答案了么, 呵呵, 我也想知道原因

热点排行