动态sql之mybatis

◇◆丶佛笑我妖孽 提交于 2019-12-11 18:27:53

prefix:在trim标签内sql语句加上前缀。

suffix:在trim标签内sql语句加上后缀。

suffixOverrides:指定去除多余的后缀内容,
suffixOverrides=",",代表去除trim标签内sql语句多余的后缀","。

prefixOverrides:指定去除多余的前缀内容
例子:

<insert id="addUser" parameterType="com.example.crud.entity.Myuser">
		insert into
		myuser
		<trim prefix="(" suffix=")" suffixOverrides=",">
				<if test="username!=null">
				  username,
				</if>
				<if test="password!=null">
				  password,
				</if>
				<if test="name!=null">
				  name,
				</if>
				<if test="classNum!=null">
					classNum,
				</if>
		</trim>
		<trim prefix="values(" suffix=")" suffixOverrides=",">
				<if test="username!=null">
					#{username},
				</if>
				<if test="password!=null">
					#{password},
				</if>
				<if test="name!=null">
					#{name},
				</if>
				<if test="classNum!=null">
					#{classNum},
				</if>
		</trim>
	</insert>

](https://img-blog.csdnimg.cn/20191211171630554.png)
自动去掉多余的","

#和$区别
使用${参数} $是SQL拼接 不能防止SQL注入 所以能使用#{}就不要使用${}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!