mybatis 拼接语句时,Boolean 类型判断为false的坑

来源:互联网 发布:电脑桌面软件怎么收纳 编辑:程序博客网 时间:2024/05/21 08:50

      在mybatis的sql文件时,遇到Boolean类型时,还是按照一般的类型来判断如果不为null或者等于''时,执行if标签下面的语句,但对于Boolean类型,后面判断为空''是没用的,原因是false时,相当于''(我的理解),只需要一个判断为null即可,如下:

<update id="modifyRetireInforsStatus">update retire_infor<set>             <if test="status != null">               status = #{status},            </if>            <if test="status == 0">                create_time = now(),            </if>            <if test="status == 1">                audit_refuse_time = now(),            </if>            <if test="status == 2">                wait_metting = now(),            </if>            <if test="status == 3">                schdule_metting = now(),            </if>            <if test="status == 4">                triple_metting_time = now(),            </if>            <if test="status == 5">                three_part_bill = now(),            </if>            <if test="status == 6">                reception_time = now(),                receipted_time = now(),                number = #{number},            </if>            <if test="status == 99">                dead_time = now(),            </if>            <if test="status == 100">                out_time = now(),            </if>            <if test="comment !=null and comment !='' ">                 comment=#{comment},            </if>                        <if test="correct !=null">                 correct=#{correct}            </if>                    </set>where retire_infor_id = #{retireInforId}</update>


0 0