浅谈mybatis中SQL语句给boolean类型赋值问题
作者:一只特立独行的猫猫 发布时间:2023-01-19 15:15:42
标签:mybatis,SQL,boolean,赋值
我就废话不多说了,大家还是直接看代码吧~
<select id="getBiTree" parameterType="String" resultMap="MenuVoListMap">
SELECT m.menu_id , m.parent_id , m.`name` , 1 opens FROM menu m
WHERE m.is_valid = 1 AND (m.type = 0 or m.type = 1) and m.menu_id IN (${menuId})
</select>
其中 opens是boolean类型,在这里将他的值赋值为1,即为true
<result property="open" column="opens"/> 这里的opens和上面的opens对应
补充知识:mybatis中当查询条件有Boolean类型的时候,为false时查询无效
eg:
<if test="isOk != null and isOk !=''">
and is_ok = #{isOk}
</if>
此时当isOk为false时,并未查询出is_ok对应的结果来
找原因:
直接到数据库使用脚本查询
select * from table
where is_ok = false
此时能查出is_ok为0的数据
select * from table where is_ok = true
此时能查出is_ok为1的数据
此时定位问题是否在
<if test="isOk != null and isOk !=''">
通过排查去掉and isOk!='',可以正确的查出
所以正确的查询结构是:
<if test="isOk != null">
and is_ok = #{isOk}
</if>
经研究:
mybatis的if判断里面最好不要使用boolean值:
mybatis会默认把空值转为false。所以如果遇见前面传空值,这个字段在mybatis里面永远就是false了,可以使用数字类型代替,但是不要使用0作为参数。
来源:https://blog.csdn.net/fhjdzkp/article/details/77775660
0
投稿
猜你喜欢
- 目录1、两阶段终止模式介绍2、Terminator代码演示3、TerminationRequester4、模拟客户端或者服务端都可能终止服务
- Bitmap (android.graphics.Bitmap)Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像
- 本文实例讲述了Java继承Thread类创建线程类。分享给大家供大家参考,具体如下:一 点睛通过继承Thread类创建线程并启动多线程的步骤
- Spring main方法调用Dao层和Service层的方法在web环境中,一般serviceImpl中的dao之类的数据库连接都由容器启
- 按行读取文件package test; import java.io.*; import java.util.*; public class
- 由Lombok的@AllArgsConstructor注解引发的错误需求:在Service实现中写了一个方法调用第三方接口同步数据。 功能代
- 以前使用HttpServletResponse可以通过输出流的方式来向前台输出图片。现在大部分都是使用springboot,在使用sprin
- 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删
- jwt简介冒泡排序:(Bubble Sort)是一种简单的交换排序。之所以叫做冒泡排序,因为我们可以把每个元素当成一个小气泡,根据气泡大小,
- Android超清晰6.0权限申请AndPermission的具体实现代码,供大家参考,具体内容如下前言这是我经常使用的框架,原因:1.思路
- SSM Mapper查询出返回数据查不到个别字段原因开启了驼峰命名法则,Bean里的字段不识别_注释掉或者把实体类里的字段_去掉换位大写SS
- 因为涉及到 io 流输入问题,如果不关闭会一直占用资源。所以使用过后要及时关闭,防止资源一直被占用。Scanner在使用前要导入 java.
- 一、简单介绍翻看Spring的源码时,发现@Bean注解的源码上标注了Since: 3.0,也就是说,@Bean注解是Spring从3.0版
- Spring Boot1.为什么要使用 Spring Boot因为Spring, SpringMVC 需要使用的大量的配置文件 (xml文件
- 本文为大家分享了JAVA语言课程设计:连连看小游戏,供大家参考,具体内容如下1.设计内容界面中有5*10的界面,图中共有6种不同的图片,每两
- 本文实例讲述了Java设计模式之抽象工厂模式。分享给大家供大家参考,具体如下:具体工厂类:生产创建某一类具体产品对象。抽象产品类可以使用接口
- 概述LruCache的核心原理就是对LinkedHashMap的有效利用,它的内部存在一个LinkedHashMap成员变量,值得注意的4个
- 前言HTML5 WebSocket实现了服务器与浏览器的双向通讯,双向通讯使服务器消息推送开发更加简单,最常见的就是即时通讯和对信息实时性要
- 配置文件<!-- 文件上传 --> <bean id="multipartResolver" clas
- 在实施接口中,我们利用interface语法,将interface从类定义中独立出来,构成一个主体。interface为类提供了接口规范。在