Oracle(null等同于空字符'')
1.oracle插入空字符串默认替换成null
2.oracle查询(null和被替换的空字符)时使用 is null/is not null
3.使用聚合函数时自动忽略null值
Mysql(null不等同于空字符'')
1.mysql插入null显示为null,插入空字符串显示空
2.null查询用 is null/is not null,空字符''查询用 =''/<>''
3.使用聚合函数时自动忽略null值
mapping.xml:
<if test='desc1!=null '>
<choose>
<when test='desc1!="" '>
and A.DESC1 = #{desc1}
</when>
<otherwise>
and (A.DESC1 is null or A.DESC1 = '')
</otherwise>
</choose>
</if>
java逻辑:
if desc1 !=null{
switch(s):
case desc1!="":and A.DESC1 = #{desc1}
default:A.DESC1 is null or A.DESC1 = ''
}else{
}