MyBatis--动态SQL(where的用法)

   首先修改UserMapper.xml中的selectByUser方法,此处将where 1 = 1改成使用where标签,代码如下:

   当if条件都不满足的时候,where元素中没有内容,所以在SQL中不会出现where,也就不存在前面在where中使用if标签中SQL错误的问题。如果if条件满足,where元素的内容就是以and开头的条件,where会自动去掉开头的and,这也能保证where条件正确。和在where中使用if标签中相比,这种情况下生成的SQL更干净,更贴切,不会在任何情况下都有where 1 = 1 这样的条件。 


原文地址:https://www.cnblogs.com/wx60079/p/13211837.html