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 动态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中使用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的动态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通过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 中使用if else 进行判断的操作
我就废话不多说了,大家还是直接看代码吧~ <!-- 查询物品的id --> <select id="checkItemsId" parameterType="pd" resultType="java.lang.Integer"> SELECT i.itemsid FROM pq_goods_items i <where> <!--方式一使用choose的方式查询--> <!-- <cho
-
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
随机推荐
- 你应该知道的Ruby代码风格
- 浅谈异常结构图、编译期异常和运行期异常的区别
- 值得收藏的iOS开发常用代码块
- IOS实现自定义透明背景的tabbar
- Java中Object toString方法简介_动力节点Java学院整理
- PL/SQL编程经验小结开发者网络Oracle
- .NET实现在网页中预览Office文件的3个方法
- js编写简单的聊天室功能
- PHP MVC框架skymvc支持多文件上传
- 修改ThinkPHP缓存为Memcache的方法
- php xml文件操作实现代码(二)
- 分享C++面试中string类的一种正确写法
- Android实现画板、写字板功能(附源码下载)
- node.js中express中间件body-parser的介绍与用法详解
- 探索PowerShell(十四) 使用WMI对象的方法
- sql数据库修改sa密码操作教程
- 基于jQuery的Web上传插件Uploadify使用示例
- jquery利用ajax调用后台方法实例
- java、python、JavaScript以及jquery循环语句的区别
- 分区软件PartitionMagic的使用方法(images)及注意事项