mybatis where标签动态sql问题

使用where标签注意事项:

where标签只会去掉第一个多出来的and 和 or,使用where标签时要把and放到前面

这种情况下生成的SQL更干净,更贴切,不会在任何情况下都有where 1 = 1 这样的条件。

<select id="search" resultType="com.example.springweb2.pojo.Member">
	select id, name, addtime, count from member
	<where>
		<if test="name != null and name != ''">
			and name like concat(#{name}, '%')
		</if>
	</where>
</select>

使用where标签注意:

记得加 1=1 避免因为没有任何where条件导致的报错

<select id="search" resultType="com.example.springweb2.pojo.Member">
	select id, name, addtime, count from member
	where 1=1
		<if test="name != null and name != ''">
			and name like concat(#{name}, '%')
		</if>
</select>
posted @ 2023-04-26 09:20  海燕心海  阅读(72)  评论(0)    收藏  举报