pgsql -- if判断

本文探讨了在Mybatis中结合PgSQL进行if判断查询的三种不同情况,详细介绍了每个案例的 dao 层 SQL 实现,并通过一个数据库示例数据来展示它们之间的区别。对于使用Mybatis和PgSQL的开发者来说,理解这些差异至关重要。
部署运行你感兴趣的模型镜像

工具:mybatis+pgsql

详见pgsql官方文档

注意: 以下三种判断查询的结果是不一样的

<if test = "column != null">
<if test = "column != null and column != '' ">
<if test = "column != '' ">

数据库数据如下:

id  username   sex  address  depId  status
1     张三      男    上海     001    1
2     李四      女    上海            1
3     王五      女    上海     002    1

案例1

dao层

User select(String username,String depId); 

sql

<select id = "select"  resultType = "com.test.dto.User">
	select  username,address,sex
	  from  user
	 where status = 1
	   and  username = #{username}
   <if test = "depId != null">
       and  depId = #{depId}
   </if>
</select>

案例2

dao层

List<User> list(String address); 

sql

<select id = "list"  resultType = "com.test.dto.User">
	select  username,address,sex
	  from  user
	 where  sex = '女'  
	<if test = "address != null and address != '' ">
       and  address like '%' || #{address} || '%'
    </if>
</select>

案例3

dao层

List<User> list(String address); 

sql

<select id = "list"  resultType = "com.test.dto.User">
	select  username,address,sex
	  from  user
	 where  sex = '女'  
	<if test = "address != '' ">
       and  address like '%' || #{address} || '%'
    </if>
</select>

您可能感兴趣的与本文相关的镜像

ComfyUI

ComfyUI

AI应用
ComfyUI

ComfyUI是一款易于上手的工作流设计工具,具有以下特点:基于工作流节点设计,可视化工作流搭建,快速切换工作流,对显存占用小,速度快,支持多种插件,如ADetailer、Controlnet和AnimateDIFF等

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值