关于MybatisPlus查询条件 or 并集 某字段空字符串和NULL问题 sql

下面的史对的

	<select id="getHouseIsExist" resultType="com.easy.hotel.pms.api.entity.House" >select *  from   house h<where>h.del_flag ='0'<if test="estateId != null and estateId != ''">and h.estate_id =#{estateId}</if><choose><when test="court != null">AND h.court_id =#{court.courtId}</when><otherwise>AND h.court_id  is null</otherwise></choose><choose><when test="build != null">AND h.build_id = #{build.buildId}</when><otherwise>AND h.build_id  is null</otherwise></choose><choose><when test="buildUnit != null">AND h.unit_id = #{buildUnit.unitId}</when><otherwise>AND h.unit_id  is null</otherwise></choose><choose><when test="buildFloor != null">AND h.floor_id = #{buildFloor.floorId}</when><otherwise>AND h.floor_id  is null</otherwise></choose><choose><when test="houseNo != null and houseNo != ''">AND h.house_no = #{houseNo}</when><otherwise>AND (  h.house_no is null or  h.house_no =''  )</otherwise></choose></where></select>

 下面的不对

	@Overridepublic List<House> getHouseList(Long estateId, Court court, Build build, BuildUnit buildUnit, BuildFloor buildFloor, String houseNo) {LambdaQueryWrapper<House> wrapper = new LambdaQueryWrapper<>();if(estateId != null){wrapper.eq(House::getEstateId, estateId);}if(court != null){wrapper.eq(House::getCourtId, court.getCourtId());}if(court == null){wrapper.isNull(House::getCourtId);}if(build != null){wrapper.eq(House::getBuildId, build.getBuildId());}if(build == null){wrapper.isNull(House::getBuildId);}if(buildUnit != null){wrapper.eq(House::getUnitId, buildUnit.getUnitId());}if(buildUnit == null){wrapper.isNull(House::getUnitId);}if(buildFloor != null){wrapper.eq(House::getFloorId, buildFloor.getFloorId());}if(buildFloor == null){wrapper.isNull(House::getFloorId);}if(StringUtils.isNotBlank(houseNo)){wrapper.eq(House::getHouseNo, houseNo);}//某个字段为空或者空字符串List houseNoList = new ArrayList();houseNoList.add(null);houseNoList.add("");   这种不对if(StringUtils.isBlank(houseNo)){//wrapper.isNull(House::getHouseNo).or(w -> w.eq(House::getHouseNo, ""));//AND house_no in(null,'')wrapper.in(House::getHouseNo,houseNoList);}List<House> list = baseMapper.selectList(wrapper);return list;}
SELECThouse_id,estate_id,lane_id,street_num_id,build_id,floor_id,unit_id,house_no,house_name,house_code,house_sort,pnote,address,built_area,use_area,user_id,user_num,landlord_id,landlord_name,landlord_mobile,build_time,in_time,out_time,curdsts,flag,house_type,house_layout,sale_flag,use_flag,fit_type,rent_flag,nature_type,other_type,other_area,STATUS,note,state,create_time,create_id,update_time,update_id,tenant_id,del_flag,ty_id,court_id,grid_id 
FROMhouse 
WHERE(estate_id =  1463063056106917940AND court_id IS NULL AND build_id = 1450294876624130799AND unit_id IS NULL AND floor_id IS NULL AND house_no IN ( null, '' )    这种不对) AND tenant_id = 1433396810122006530

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

遍历线索化二叉树+图解

图解 代码实现 package com.atguigu.tree.threadedbinarytree;/*** 创建人 wdl* 创建时间 2021/3/25* 描述*/ public class ThreadedBinaryTreeDemo {public static void main(String[] args) {//测试一把中序线索化二叉树的功能HeroNode root new HeroNode(1, "tom&quo…

JS实现星星评分功能实例代码(两种方法)

转载自 JS实现星星评分功能实例代码(两种方法) 一、方法1 1、用到图片 2、结构和样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><style>ul {padding-left: 0;…

SQL on Linux Run on Docker

摘要 SQL Server 2016以及SQL on Linux版本已经支持跑在Docker容器中&#xff0c;也展示微软拥抱开源的决心和勇气。这篇博文就是以SQL on Linux为例&#xff0c;看看如何将SQL Server实例部署在Docker容器中。 背景 大概在两个月之前&#xff0c;在SQL On Linux刚发布预览版本…

三条中线分的六个三角形_八年级数学上册:三角形已知两条边如何求第三边

三角形一、定义&#xff1a;由不在同一条直线上的三条线段首尾顺次相接所组成的平面图形叫做三角形。1、三角形的内角&#xff1a;三角形的没两条边所组成的角叫做三角形的内角2、三角形的外角&#xff1a;三角形的任意一边与另一边的反向延长线所组成的角叫做三角形的外角。二…

ssh(Spring+Spring mvc+hibernate)——BaseDaoImpl.java

/** * Title: BaseDaoImpl.java * Package org.dao.impl * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-11-21 上午9:44:53 * version V1.0 */ package org.dao.impl;import java.io.Serializable; import java.lang…

Xamarin的坑 - 绑定(二) - 高德iOS SDK(.Framework)绑定的一些事

编者语&#xff1a;入门总是用一个hello world&#xff0c;总会让人觉得写code会是很容易的事。开篇绑定了一下微信SDK,不会有太多的难点&#xff0c;可是接下来的这个例子如果欠缺一些耐心&#xff0c;估计你整个人就崩溃了(我从来不会放弃任何的事)。ps这里得谢谢CSDN回帖的人…

ssh(Spring+Spring mvc+hibernate)——DeptDaoImpl.java

/** * Title: DeptDaoImpl.java * Package org.dao.impl * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-11-21 上午9:57:37 * version V1.0 */ package org.dao.impl;import java.io.Serializable; import java.util…

堆排序代码实现

package com.atguigu.tree;import java.util.Arrays;/*** 创建人 wdl* 创建时间 2021/3/26* 描述*/ public class HeapSort {public static void main(String[] args) {//要求将数组进行升序排序int arr[]{4,6,8,5,9};heapSort(arr);}//编写一个堆排序的方法public static void…

android 监听安装来源_Flutter插件开发之APK自动安装

点击上方的终端研发部&#xff0c;右上角选择“设为星标”每日早9点半&#xff0c;技术文章准时送上公众号后台回复“学习”&#xff0c;获取作者独家秘制精品资料往期文章记五月的一个Android面试经今日头条屏幕适配方案落地研究图解算法&#xff1a;说一道字节跳动的算法题除…

JavaScript学习总结(一)——JavaScript基础

转载自 JavaScript学习总结(一)——JavaScript基础 一、JavaScript语言特点 1.1、JavaScript是基于对象和事件驱动的(动态的) 它可以直接对用户或客户输入做出响应&#xff0c;无须经过Web服务程序。它对用户的响应&#xff0c;是采用以事件驱动的方式进行的。所谓事件驱动…

idea下使用springinitializr创建项目时 初始化失败的解决

idea自带的地址无使用使用阿里的就可以了 idea下使用springinitializr创建项目时 初始化失败的解决 周山 关注 2020.08.05 13:32:26字数 10阅读 1,085 image.png 修改初始化创建时Custom处 https://start.aliyun.com/ image.png

ssh(Spring+Spring mvc+hibernate)——EmpDaoImpl.java

/** * Title: EmpDaoImpl.java * Package org.dao.impl * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-11-21 上午10:05:13 * version V1.0 */ package org.dao.impl;import java.io.Serializable; import java.util…

如何使Mac Docker支持SQL on Linux容器Volume特性

问题引入 这天老鸟火急火燎的找到菜鸟&#xff1a;“鸟儿啊&#xff0c;按照你之前的文章SQL on Linux Run on Docker&#xff0c;当我销毁SQL on Linux Docker容器以后&#xff0c;我容器中的所有数据库数据丢失啦&#xff0c;怎么办&#xff0c;怎么办啊&#xff1f;”。菜鸟…

JavaScript学习总结(二)——逻辑Not运算符详解

转载自 JavaScript学习总结(二)——逻辑Not运算符详解 在JavaScript 中&#xff0c;逻辑NOT运算符与C和Java中的逻辑 NOT 运算符相同&#xff0c;都由感叹号&#xff08;!&#xff09;表示。与逻辑 OR 和逻辑 AND 运算符不同的是&#xff0c;逻辑 NOT 运算符返回的一定是 Boo…

赫夫曼树+图解

图解 代码实现 package com.atguigu.huffmanTree;import javax.swing.*; import java.awt.geom.RoundRectangle2D; import java.util.ArrayList; import java.util.Collections; import java.util.List;/*** 创建人 wdl* 创建时间 2021/3/26* 描述*/ public class HuffmanTree…

四足爬行机器人运动_有自我意识机器人横空出世,还能自我复制,专家表示需警惕其失控...

有自我意识是什么样的&#xff1f;人类自身其实就是有自我意识的生命体&#xff0c;那作为有自我意识的生命体&#xff0c;你想过自我意识是指哪些特征吗&#xff1f;指尖科技说小编先跟你探讨一下&#xff1a;1.主动做事情。就是说在没有其他人控制的情况下&#xff0c;它可以…

IDEA中创建maven项目详细步骤,很清晰

IDEA中创建maven项目详细步骤&#xff0c;很清晰_格子衫111的博客-CSDN博客_idea maven构建 前言 在IDEA中创建Maven项目&#xff0c;前提是已经安装配置好Maven环境 。 如还未配置安装Maven的&#xff0c;请先下载安装。如何下载安装&#xff0c;可参考我另外篇文章&#xff1…

ssh(Spring+Spring mvc+hibernate)——IDeptService.java和IEmpService.java

IEmpService.java的代码&#xff1a; /** * Title: IEmpService.java * Package org.service * Description: TODO该方法的主要作用&#xff1a; * author A18ccms A18ccms_gmail_com * date 2017-11-21 上午10:08:05 * version V1.0 */ package org.service;import org.…

微软AirSim,一个无人机和机器人的模拟器

微软开发并开源了AirSim&#xff0c;一个用于模拟无人机在全世界的飞行的工具。这个模拟器基于虚幻引擎&#xff08;Unreal Engine&#xff09;构建&#xff0c;微软很快会增加对机器人和其它类型移动设备的支持。 微软在内部开发了航空信息系统和机器人平台&#xff0c;这个研…

JavaScript学习总结(四)——逻辑OR运算符详解

转载自 JavaScript学习总结(四)——逻辑OR运算符详解 在JavaScript中&#xff0c;逻辑OR运算符用||表示 var bTrue true;var bFalse false;var bResult bTrue || bFalse; 下面的真值表描述了逻辑AND运算符的行为: 运算数 1运算数 2结果truetruetruetruefalsetruefals…