中文文档:https://mybatis.org/mybatis-3/zh/dynamic-sql.html

1.如果不使用where标签

如果没用where标签的话,我们在写动态sql的时候可能需要这样:

SELECT
	* 
FROM
	users 
WHERE
	1 = 1
	<if test="id != null">
		 and id = #{id}
	</if>

2.使用where

官方解释:where 元素只会在子元素返回任何内容的情况下才插入 “WHERE” 子句。而且,若子句的开头为 “AND” 或 “OR”,where 元素也会将它们去除。

这样我们的动态sql就可以写出这样

SELECT
	* 
FROM
	users 
<where>
	<if test="id != null">
	  id = #{id}
	</if>
	<if test="name!= null">
	  and name = #{name}
	</if>
</where>

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐