A+
MyBatis中的标签和where关键词的区别
标签: mybatis 最后编辑:2020年11月6日
where标签为MyBatis的动态语句,下面是一个常见的查询语句
<select id="selectById" parameterType="userMapVo" resultType="user"> select * from user <where> <if test="id != null and id != '' "> id=#{id} </if> <if test="name != null and name != '' "> and name=#{name} </if> </where> </select>
一、
如果上述SQL语句中where标签里的if全不成立,则不走专where语句。
二、
会把AND/OR自动忽略掉。
如果第一个if标签里ID的值为null或空字符串的话,那么打印出来的SQL为:select * from user where name=”xxx”
三、
如果if条件全部不成立,不使用<where>直接用where关键词的话会导致sql语法错误,打印出来的SQL为:select * from user where
说:来学习一下,应该用得上