mybatis if where标签怎么使用?

版权声明:本文为博主原创文章,未经博主允许不得转载。如有问题,欢迎指正。 https://blog.csdn.net/qq_30225725/article/details/89636315

先看不加判断的sql语句怎么写?

mybatis if where标签怎么使用?

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

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

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

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

    在Mapper-User.xml文件中:

    mybatis if where标签怎么使用?

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

    :声明where标签开始

    :表示where标签结束

    :if标签开始

    test:是判断的表达式。

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

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

    :if标签结束

    mybatis if where标签怎么使用?

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

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

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

  4. username和sex都存在的测试类:

    mybatis if where标签怎么使用?

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

    mybatis if where标签怎么使用?

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

    请看测试类:

    mybatis if where标签怎么使用?

  7. 再看,执行后输出的sql语句:

    mybatis if where标签怎么使用?

猜你喜欢

转载自blog.csdn.net/qq_30225725/article/details/89636315
今日推荐