码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis判断集合长度

时间:2019-05-17 13:59:10      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:you   eva   sele   lin   lis   操作   syntax   框架   集合   

使用mybatis框架在写sql的时候碰到一个异常:

 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘)‘ at line 1

  类似于sql这样出现的异常

SELECT * FROM eval_question  WHERE   id not in()

  后来就查询前先判断前台传入集合如果长度小于0就不走下面的操作。就不会异常了。

 <select id="NotInByEvalQuestion" resultType="com.rm.eval.entity.EvalQnQuestion">
        SELECT * FROM eval_question  WHERE  1=1
        <if test="null != strlist and strlist.size > 0">
          and  id not in
            <foreach collection="strlist" index="index" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
    </select>

  相当于

SELECT * FROM eval_question  WHERE   id not in("")或者
SELECT * FROM eval_question  WHERE  1=1

 

mybatis判断集合长度

标签:you   eva   sele   lin   lis   操作   syntax   框架   集合   

原文地址:https://www.cnblogs.com/q1359720840/p/10880708.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!