mybatis if where标签怎么使用

 我来答
匿名用户
2017-09-13
展开全部
先看不加判断的sql语句怎么写?

.

我们看到where和and。也就是说,当username和sex都有值的时候 使用where和and

那如果只有sex怎么办?或者只有username怎么办?这种情况下,上面语句就会出问题了。

所以,可以使用where标签和if标签。

小二,先上截图,给大爷们看看,然后咱们在讲解。

在Mapper-User.xml文件中:

.

接下来讲解where、if标签含义:

<where>:声明where标签开始

</where>:表示where标签结束

<if>:if标签开始

test:是判断的表达式。

注意,在表达式中并且是用字母and而非使用&符号

字符串判断双引号套单引号使用

</if>:if标签结束

.

where标签会自动判断前面是否有字段,如果有字段会使用and sex=${sex}这个语句。

如果没有字段,and会被忽略直接跟在where后面。

也就是说,如果username为空但是sex不为空的话。输入的sql又是什么?

username和sex都存在的测试类:

.

执行后控制台输入的sql语句为:

.

如果username为空只有sex有值,会报错吗?

请看测试类:

.

再看,执行后输出的sql语句:
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式