摘要
本文介绍了MyBatis的trim标签用法,让我们拿下它。
标签属性说明
- prefix属性
用于在生成的 SQL 语句的开头添加一个指定的字符串。通常用于添加 SQL 语句的关键词,比如 WHERE, SET 等。
- prefixOverrides 属性
用于移除拼接内容开头的特定字符或字符串。常用于处理不必要的关键词,比如删除多余的 AND 或 OR。
- suffixOverrides 属性
用于移除拼接内容末尾的特定字符或字符串。常用于处理不必要的关键词,比如删除多余的逗号或 AND。
- suffix 属性
用于在生成的 SQL 语句末尾添加一个指定的字符串。通常用于添加 SQL 语句的结尾关键词,比如 ORDER BY 或者 GROUP BY 等。
代码示例
增insert into users (id,name,email) values (#{id},#{name},#{email})
<insert id="insertUser">
INSERT INTO users
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="name != null">
name,
</if>
<if test="email != null">
email,
</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
<if test="name != null">
#{name},
</if>
<if test="email != null">
#{email},
</if>
</trim>
</insert>
删delete from users where id = #{id} and name = #{name} and email = #{email}
<delete id="deleteUser">
DELETE FROM users
<trim prefix="WHERE" suffixOverrides="AND">
<if test="id != null">
AND id = #{id}
</if>
<if test="name != null">
AND name = #{name}
</if>
<if test="email != null">
AND email = #{email}
</if>
</trim>
</delete>
改update users set name = #{name}, email = #{email} where id = #{id}
<update id="updateUser">
UPDATE users
<trim prefix="SET" suffixOverrides=",">
<if test="name != null">
name = #{name},
</if>
<if test="email != null">
email = #{email},
</if>
</trim>
<trim prefix="WHERE" suffixOverrides="AND">
<if test="id != null">
AND id = #{id}
</if>
</trim>
</update>
查select * from users where id = #{id} and name = #{name} and email = #{email}
<select id="selectUsers" resultType="User">
SELECT * FROM users
<trim prefix="WHERE" suffixOverrides="AND">
<if test="id != null">
id = #{id} AND
</if>
<if test="name != null">
name = #{name} AND
</if>
<if test="email != null">
email = #{email} AND
</if>
</trim>
</select>
总结
以上我们通过编码示范来展开了解了mybatis的trim标签在增删改查的应用,从而简化了参数动态拼接情况对于if标签的生硬写法,赶紧应用到你们的项目中吧。
关注公众号:咖啡Beans
在这里,我们专注于软件技术的交流与成长,分享开发心得与笔记,涵盖编程、AI、资讯、面试等多个领域。无论是前沿科技的探索,还是实用技巧的总结,我们都致力于为大家呈现有价值的内容。期待与你共同进步,开启技术之旅。