mybatis的动态sql之if test的使用说明

参数为String,if test读取该参数代码

参数为pojo , if test读取该参数代码

补充:关于mybatis中 if test的条件怎么写

1.mybatis 中 的 if test写法

1.1官方文档上对于if是这么写的


  AND title like #{title}

参考官方文档:

实际项目中会有这种情况: 页面上title字段输入某个值进行查询,手动将输入框中的值删除,然后再次查询,发现结果不正确,究其原因是应为title传入了空串" " 这样在mybatis配置文件中就会用空串进行查询,导致出现错误结果

1.2建议写法


  AND title like #{title}

2.使用mybatis 做修改时将字段置空

if中如果传入的参数如果为空,那么将不会执行if中的语句

解决办法:


update table
 
  
  full_name = null,
  
  
  full_name = #{companyOrg.fullName},
  
  
  level = null,
  
  
  level = null,
  
  
  level = #{companyOrg.level},
  
 
 
 where 1=1 and id =#{companyOrg.id}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

你可能感兴趣的:(mybatis的动态sql之if test的使用说明)