讨厌吃苦瓜 2022-11-09 17:25 采纳率: 0%
浏览 66
已结题

ibatis条件查询,在xml中无法正常判断条件(<isNotEmpty>)

问题遇到的现象和发生背景
public List<UapMainAcct> findInactiveMainAcctByTypeAndAppCode(String type, String inactiveDays, boolean onlyTheDay,String[] appCodes) {
        Map condition = DataBaseUtil.getHashMap();
        condition.put("type", Integer.parseInt(type));
        condition.put("inactiveDays", Integer.parseInt(inactiveDays));
        condition.put("onlyTheDay", onlyTheDay);
        condition.put("appCodes",appCodes);
        return getSqlMapClientTemplate().queryForList("UapMainAcct.findInactiveMainAcctByType", condition);
    }


    <select id="findInactiveMainAcctByType" resultMap="uapMainAcctResult">
        select * from uap_main_acct t where
         t.lock_status = 0
        <include refid="defaultProvinceCodeCondition"/>
        and
        ((t.last_login_time is not null
        <![CDATA[
              ))
             and not exists  (select 1
              from uap_main_acct_redlist l
             where t.main_acct_id = l.main_acct_id)
              and t.acct_type=#type#
              and (t.GRACE_PERIOD is null or t.GRACE_PERIOD <= 0 )]]>
        <dynamic prepend="">
        <isNotEmpty prepend="AND" property="appCodes">
            1!=1
        </isNotEmpty>
        </dynamic>
    </select>
运行结果及报错内容
<dynamic prepend="">
        <isNotEmpty prepend="AND" property="appCodes">
            1!=1
        </isNotEmpty>
        </dynamic>

这部分判断进不去,无效;找不到原因

我的解答思路和尝试过的方法

试过 List也不可以

我想要达到的结果

可以正常判断条件

  • 写回答

5条回答 默认 最新

  • Jackyin0720 2022-11-09 17:41
    关注
        <select id="queryTable" parameterClass="ParameterClass" resultMap="ResultMap">
            select * from table where 1 =1
            <isNotEmpty property="fromId" prepend="and">
                id <![CDATA[>=]]> #fromId#
            </isNotEmpty>
            <isNotEmpty property="toId" prepend="and">
                id <![CDATA[<=]]> #toId#
            </isNotEmpty>
            order by id
        </select>
    

    【仅供参考】

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 创建了问题 11月9日