论坛首页 Java企业应用论坛

ibatis中动态分页查询foreach条件丢失问题

浏览 4464 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-05-18  
环境:mybatis3.0.1/3.0.5  mybatis-spring1.0.0/1.0.1

在映射文件中使用动态查询配置:
<where>
    <foreach collection="stateList" item="stateItem" open="AND ( " separator="OR" close=" )">
	order_form.state = #{stateItem}
    </foreach>
</where>


在filters查询参数中加入stateList条件,放入['dd','ee','ff']
当调用sqlSession.selectList(statementName, filters, new RowBounds(1,10));的时候,执行的sql为:
SELECT *
    FROM
        vfcs_order_form as order_form 
    WHERE
        (
            order_form.state = NULL 
            OR order_form.state = NULL 
            OR order_form.state = NULL 
        ) limit 10 offset 1

属性全部为null;

当同样的条件调用sqlSession.selectList(statementName, filters);的时候,执行的sql为:
SELECT *
    FROM
        vfcs_order_form as order_form 
    WHERE
        (
            order_form.state = 'ddd' 
            OR order_form.state = 'ff' 
            OR order_form.state = 'ee' 
        )


照理说,第一个调用生成的条件部分应该和第二个一样,不知道为什么出现这个问题,不知道有谁知道怎么回事不。


ibatis官方上提的问题描述及附件请到这里:
http://code.google.com/p/mybatis/issues/detail?id=331&colspec=ID%20Type%20Component%20Status%20Priority%20Version%20Target%20Summary%20Reporter&start=100
   发表时间:2011-05-18  
结贴,折腾了一天,刚发帖就找到原因了,我用了rapid-framework3.9.3,里面的分页plugin可能有问题,再研究下。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics