Mybatis在mapper.xml中写条件查询语句

做系统很多时候都会使用到查询功能,但有时只是想针对某列数据进行查询,下面是我在mapper.xml中的配置。
主要说2个问题:
1.使用where 1=1是因为oid可能为null,如果不加 1=1,那么就可能出现where and id==#{id,jdbcType=INTEGER}的问题,这样语句会出错,加了 1=1就可以避免这种问题。
2.有时候数据可能为null,也有可能为"",如果只判断null,就会找不到结果,所以添加 onote != ‘’(PS:是 ’ 和 ‘,不是")。
3.对于INTEGER型数据,如果输入的参数可能为0,那么使用xxx !=’‘的话会出现把所有数据都显示出来的情况,有两种解决方法:
1)把xxx !=’'去掉,只保留xxx !=null
2)在判断语句后面添加 or xxx==0,如下面的图2那样。
通过下面这个方法,我们就不需要每个数据都有输入,只输入想要查询的条件就行。

  

Mybatis在mapper.xml中写条件查询语句_第1张图片
在这里插入图片描述

你可能感兴趣的:(mybatis,java)