mybatis的if判断不要使用boolean值的说明
时间:2021-05-02 08:20:08|栏目:JAVA代码|点击: 次
mybatis的if判断里面最好不要使用boolean值:
mybatis会默认把空值转为false。所以如果遇见前段传空值,这个字段在mybatis里面永远就是false了,
可以使用数字类型代替,但是不要使用0作为参数;
补充知识:【MyBatis】<if test=""></if>标签的条件判断(Boolean类型参数)
在MyBatis 中,动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。
在 MyBatis 3 之前的版本中,有很多元素需要花时间了解。而MyBatis 3 大大精简了元素种类,只需学习原来一半的元素便可。
MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。
<!-- <if test=" "></if>标签的使用实例-->
<select id="findActiveBlogWithTitleLike" resultType="Blog">
SELECT
*
FROM
BLOG
WHERE
state = ‘ACTIVE'
<if test="title != null">
AND title like #{title,jdbcType=VARCHAR}
</if>
</select>
<!-- <if test=""></if>标签 -->
<!-- 对于字符串类型参数,可以用如下写法: -->
<if test="username" != null>
username=#{username, jdbcType=VARCHAR}
</if>
<!-- 或者 -->
<if test="username != null and 'John' == username">
username=#{username, jdbcType=VARCHAR}
</if>
<!-- 但是,对于非字符串类型的参数(如Boolean),就需要写成: -->
<if test="flag != null and 'true'.toString() == flag.toString()">
flage=#{flag, jdbcType=BOOLEAN}
</if>
上一篇:基于java Files类和Paths类的用法(详解)
栏 目:JAVA代码
下一篇:JavaSwing FlowLayout 流式布局的实现
本文标题:mybatis的if判断不要使用boolean值的说明
本文地址:http://www.codeinn.net/misctech/113294.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




