mybatis的if判断不要使用boolean值的说明
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>
以上这篇mybatis的if判断不要使用boolean值的说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
mybatis通过if语句实现增删改查操作
有时候为了简化我们的代码. 1 举个例子 Student类: @Data public class Student { private Integer id; private Integer age; private Integer sno; } 有时候我们想通过age这个属性获取Student对象 有时候我们也想通过sno这个属性获取Student对象 难道我们在DAO层写两个接口? 比如这样子? Student getStudentByAge(Int age); Student getStu
-
mybatis的动态sql之if test的使用说明
参数为String,if test读取该参数代码 <select id="getMaxDepartId" parameterType="java.lang.String" resultType="java.lang.String"> SELECT MAX(DEPART_ID) FROM T_P_DEPART <where> <if test="_parameter!=null and _parameter!
-
解决mybatis where-if中if不能识别大写AND,OR的问题
mybatis报错: Caused by: org.apache.ibatis.ognl.ParseException: Encountered " "AND "" at line 1 错误代码: <select id="selectAccountList" resultMap="BaseResultMap"> SELECT ct.customer_name customerName,sam.city_code,s
-
在mybatis中使用mapper进行if条件判断
目的: 在使用mybatis框架中mapper文件有自动生成,但有时需要自己添加sql语句进行开发,当遇到需要使用 if进行条件判断的时候该怎么写? 查询sql语句如下: <select id="queryData" parameterType="com.pojo.QueryDetailReq" resultType="com.pojo.MxDataInfo"> select * from db_trd.tb_trd_secu_ord
-
在mybatis 中使用if else 进行判断的操作
我就废话不多说了,大家还是直接看代码吧~ <!-- 查询物品的id --> <select id="checkItemsId" parameterType="pd" resultType="java.lang.Integer"> SELECT i.itemsid FROM pq_goods_items i <where> <!--方式一使用choose的方式查询--> <!-- <cho
-
Mybatis 动态sql if 判读条件等于一个数字的案例
在Mybatis中 mapper中 boolean updateRegisterCompanyFlag(@Param(value = "companyId") String companyId, @Param(value = "flag") String flag); 传入的flag类型为String,但在mapper.XML中进行判断是下意识地以为判断的值要加上引号 <if test=" '4' == flag "> , LAST_
-
mybatis的if判断不要使用boolean值的说明
mybatis的if判断里面最好不要使用boolean值: mybatis会默认把空值转为false.所以如果遇见前段传空值,这个字段在mybatis里面永远就是false了, 可以使用数字类型代替,但是不要使用0作为参数: 补充知识:[MyBatis]<if test=""></if>标签的条件判断(Boolean类型参数) 在MyBatis 中,动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似. 在 MyBatis 3 之前的版本中,有很
-
mybatis中的if test判断入参的值问题
目录 mybatis if test判断入参的值 1.第一种判断方式 2.第二种判断方式 if test动态判断数字时出现的错误 mybatis中if test判断数字 mybatis if test判断入参的值 1.第一种判断方式 <if test=' requisition != null and requisition == "Y" '> AND 表字段 = #{requisition} </if> 2.第二种判断方式 <if test=&qu
-
解决mybatis返回boolean值时数据库返回null的问题
常规情况,我们使用数据库判断 true or false.所写的语句是select count(id) from 表名: 这种常用情况下,只有当查询语句查到数据 且 只有一条时才会返回 true; 还有一种情况,就是数据库中返回判断句,比如 返回的对错将以1或0表示: 但是当返回值为null,或者多个值的时候 会怎么样呢,0 1 还是报错? 测试表示这种情况下会报错: 希望大家使用 boolean 返回时 也能格外小心. 这里简单做了更改方法,可能不是最优化的,有更好的意见还请不吝赐教. 补充知
-
Mybatis多个字段模糊匹配同一个值的案例
需求: 搜索框中可输入手机号,姓名,地址查询,后台需要对一个框中的多个字段做匹配查询. 搜索 可以在sql语句中做拼接条件查询: <if test="condition!=null and condition!=''"> AND CONCAT(r.name,a.name,a.phone,a.addr_detail) LIKE '%' #{condition} '%' </if> 补充知识:在Mybatis xml使用mysql数据库进行多字段模糊查询(Like)
-
Java 如何判断Integer类型的值是否相等
目录 判断Integer类型的值是否相等 Integer赋值比较 赋值操作 构造函数 判断Integer类型的值是否相等 我们知道Integer是int的包装类,在jdk1.5以上,可以实现自动装箱拆箱,就是jdk里面会自动帮我们转换,不需要我们手动去强转,所以我们经常在这两种类型中随意写,平时也没什么注意 但Integer他是对象,我们知道 == 比较的是堆中的地址,但有个奇怪的事是, 如果 Integer a = 123, Integer b = 123,可以返回true,但如果Intege
-
mybatis Mapper的xml文件中resultType值的使用说明
目录 Mapper的xml文件中resultType值 ①返回一般数据类型的值 ②当返回类型是javaBean ③当返回是List类型 ④返回类型数Map结构 ⑤说一下关于mybatis里面mapper层中传入多个参数的方法 mybatis学习之resultType解析 总结 1.对象类型 2.List类型 3.Map类型 Mapper的xml文件中resultType值 ①返回一般数据类型的值 比如根据id或者字段条件查询获取表中的某一个字段值 User Sel(int id); //根据id
-
MyBatis if test 判断字符串相等不生效问题
目录 MyBatis if test 判断字符串相等不生效 原因分析 解决方法 MyBatis if test 判断字符串相等的坑 1. if 判断字符串 2. if嵌套 MyBatis if test 判断字符串相等不生效 采用 MyBatis 框架操作 MySQL 数据库时,判断传入的字符串 priceFlag 值为"0"时,按照 price 属性降序排列,如下 xml 语句未生效: <if test="priceFlag != null and priceFlag
-
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法 <script> $(function () { var SelectVal = $("input[name='rblGJS']:checked").val(); if (SelectVal == 1) { $("#gjsbh").show(); } $("#<%=rblGJS.ClientID %>").change(function () {
-
js中判断用户输入的值是否为空的简单实例
在js中判断用户输入的值是否为空,这是大家用得非常多的. 这没有什么好写的. 而我却写了. 原因只是自以为是的认为我的这些代码写得不错, 供大家参考一下. 这是摘自的我一个项目的中的用户注册页面.对于大多数人来说,这都几乎是100%经历过的.贴代码吧,这些代码都是用js写的. 不难,很容易看懂. 看的时候,只要区别两个js类就行了.前台页面代码:reguser.aspx 复制代码 代码如下: <%@ Page language="c#" Codebehind="RegU
-
javascript判断变量是否有值的方法
本文实例讲述了javascript判断变量是否有值的方法.分享给大家供大家参考.具体分析如下: 例如: var a = null; var b = undefined; 以上这两种情况算作没有值 if(a !== null && a !== undefined) { // } // 为什么不能单用if(a !== null) { // } var a; a !== null; // true // 为什么不能单用if(a !== undefined) { // } var a = null
随机推荐
- js读取并解析JSON类型数据的方法
- JS模拟抽奖序效果实现代码
- 秘笈:将OEM XP变成零售正版XP
- 解析c#操作excel后关闭excel.exe的方法
- python简单实现基于SSL的IRC bot实例
- 在ASP.NET中使用Session常见问题集锦
- Android TextView字体颜色设置方法小结
- mysql 获取当天发布的信息的语句
- Flexigrid在IE下不显示数据的有效处理方法
- ASP.net判断上传文件类型的三种有效方法
- 实用的标签效果
- jquery实现的仿天猫侧导航tab切换效果
- Android开发笔记之:AsyncTask的应用详解
- Java实现字符串倒序输出的常用方法小结
- C#从控制台读取字符串的方法
- JS验证IP,子网掩码,网关和MAC的方法
- C#简单的向量用法实例教程
- 如何使用PHP获取指定日期所在月的开始日期与结束日期
- C#非矩形窗体实现方法
- 俄罗斯黑客让倒计时器停滞,Vista已经完美破解附破解软件