mybatis where标签动态sql问题

发布时间 2023-04-26 09:22:53作者: 海燕心海

xml文件

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

<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>