2025年3月23日 星期日 甲辰(龙)年 月廿二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > MyBatis

mybatis动态sql中的trim标签的使用

时间:12-09来源:作者:点击数:40

trim标记是一个格式化的标记,可以完成set或者是where标记在xml文件当中的功能

总结:

  • trim标签 拼接字符串
  • prefix:给拼串后的字符串加上一个前缀 使用最多的是 where 或 set
  • prefixOverrides:去掉拼串后的字符串的第一个前缀 一般是 and or
  • suffix:给拼串后的字符串加上一个后缀
  • suffixOverrides:去掉拼串后字符串的最后一个后缀 一般是 and or
  • set标签:在更新中使用,可以去除多余的逗号

具体看代码解释:

查询的情况:

  • <select id="findByEmpTrim" parameterType="employee" resultType="employee">
  • select * from tbl_employee
  • <trim prefix="where" prefixOverrides="and | or" suffixOverrides="and | or">
  • <if test="id!=null and id!=''">
  • and id=#{id}
  • </if>
  • <if test="lastName!=null and lastName!=''">
  • and last_name like #{lastName}
  • </if>
  • <if test="email!=null and email!=''">
  • and email like #{email}
  • </if>
  • <if test="gender!=null and gender!=''">
  • and gender = #{gender} and
  • </if>
  • </trim>
  • </select>

首先我们需要知道要拼接的字符串是什么 ,要拼接的字符串,也就是标签当中所有条件的拼接

  • and id=#{id} and last_name like #{lastName} and email like #{email} and gender = #{gender} and

如果我们需要将这些这些条件带上,就需要去掉以上拼接字符串的第一个 and 前缀 和最后一个 and 后缀,同时也要带上 where

执行打印的sql

  • select * from tbl_employee where id=? and last_name like ? and email like ? and gender = ?

更新的情况:

  • <select id="UpdateByEmpTrim" parameterType="employee">
  • update tbl_employee
  • <trim prefix="set" suffix="where id = #{id}" suffixOverrides=",">
  • <if test="lastName!=null and lastName!=''">
  • last_name = #{lastName},
  • </if>
  • <if test="email!=null and email!=''">
  • email = #{email},
  • </if>
  • <if test="gender!=null and gender!=''">
  • gender = #{gender},
  • </if>
  • </trim>
  • </select>

要拼接的字符串,也就是标签当中所有条件的拼接

  • last_name = #{lastName},email = #{email},gender = #{gender},

我们要实现更新功能,就需要在拼接字符串的最前面加上一个set 和去掉拼接字符串最后一个后缀’,’ 然后加上where 查询条件

在这里插入图片描述

执行打印的sql

  • update tbl_employee set last_name = ?, email = ?, gender = ? where id = ?
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门