作用:

都是在mybatis的sql语句trim标签内
prefix :在trim中包含的语句前加上前缀内容
suffix :在trim中包含的语句后加上后缀内容
prefixOverrides:去除多余的前缀
suffixOverrides :去除多余的后缀

实例

①基本mapper.xml配置

<update id="updateUser" parameterType="com.example.demo.User">UPDATE t_userSETuser_name=#{userName},password=#{password},address=#{address}WHERE id = #{id}
</update>

传入数据:
后台log:

[nio-8090-exec-2] c.e.r.mapper.UserMapper.updateUser       : ==>  Preparing: UPDATE t_user SET user_name=?, password=?, address=? WHERE id = ?
[nio-8090-exec-2] c.e.r.mapper.UserMapper.updateUser       : ==> Parameters: tom(String), 1(String), 地球(String), 3(String)
[nio-8090-exec-2] c.e.r.mapper.UserMapper.updateUser       : <==    Updates: 1

② 采用prefix

<update id="updateUser" parameterType="com.example.demo.User">UPDATE t_user<trim prefix="set"><if test="password!=null and password !='' ">password=#{password},</if><if test="userName!=null and userName !=''">user_name=#{userName},</if><if test="address!=null and address !=''">address=#{address}</if></trim>WHERE id = #{id}
</update>

传入与①相同参数

[nio-8090-exec-2] c.e.r.mapper.UserMapper.updateUser       : ==>  Preparing: UPDATE t_user SET password=?, user_name=?, address=? WHERE id = ?
[nio-8090-exec-2] c.e.r.mapper.UserMapper.updateUser       : ==> Parameters: 1(String), tom(String), 地球(String), 3(String)
[nio-8090-exec-2] c.e.r.mapper.UserMapper.updateUser       : <==    Updates: 1

③ 采用suffixOverrides

在2的基础上,当传入参数改变,sql会出现错误

[nio-8090-exec-6] c.e.r.mapper.UserMapper.updateUser       : ==>  Preparing: UPDATE t_user SET password=?, user_name=?, WHERE id = ?
[nio-8090-exec-6] c.e.r.mapper.UserMapper.updateUser       : ==> Parameters: 1(String), tom(String), 3(String)

此时再加上suffixOverrides进行去除多余的后缀","

<update id="updateUser" parameterType="com.example.restfuldemo.ext.UserExt">UPDATE t_user<trim prefix="SET" suffixOverrides=","><if test="password!=null and password !=''">password=#{password},</if><if test="userName!=null and userName !=''">user_name=#{userName},</if><if test="address!=null and address !=''">address=#{address}</if></trim>WHERE id = #{id}
</update>

sql能正常执行

[nio-8090-exec-2] c.e.r.mapper.UserMapper.updateUser       : ==>  Preparing: UPDATE t_user SET password=?, user_name=? WHERE id = ?
[nio-8090-exec-2] c.e.r.mapper.UserMapper.updateUser       : ==> Parameters: 1(String), tom(String), 3(String)
[nio-8090-exec-2] c.e.r.mapper.UserMapper.updateUser       : <==    Updates: 1

④ 采用suffix

    <select id="getUsers" resultMap="BaseResultMap"><trim suffix="order by id desc">SELECT id,user_name,password,addressFROMt_user</trim></select>

执行结果

[nio-8090-exec-4] c.e.r.mapper.UserMapper.getUsers         : ==>  Preparing: SELECT id, user_name, password, address FROM t_user order by id desc
[nio-8090-exec-4] c.e.r.mapper.UserMapper.getUsers         : ==> Parameters:
[nio-8090-exec-4] c.e.r.mapper.UserMapper.getUsers         : <==      Total: 2

mybatis 标签中prefix,suffix,prefixOverrides,suffixOverrides作用相关推荐

  1. mybatis中prefix,suffix,prefixOverrides,suffixOverrides用法解释

    <trim prefix="" suffix="" suffixOverrides="" prefixOverrides=" ...

  2. mybatis之trim prefix= suffix= suffixOverrides= prefixOverrides=/trim

    转载自 https://blog.csdn.net/qq_33054511/article/details/70490046 1.<trim prefix="" suffix ...

  3. html中属性的作用,html的标签中 unselectable=on 属性的作用

    在IE浏览器中,当input获得焦点时,点击有unselectable="on"属性的标签时,不会触发onblur事件. 加上该属性的元素不能被选中. < !DOCTYPE ...

  4. SQL删除空格Trim函数(RTrim、LTrim)与<trim prefix=““ suffix=““ suffixOverrides=““ prefixOverrides=““></trim>

    一.SQL删除数据空格函数(Trim.RTrim.LTrim) 1.Trim()函数:前后空格 用来删除数据左右两边(开始和结尾处)的空格. 2.RTrim()函数:后面空格 用来删除数据右边(结尾处 ...

  5. mybatis文件中SQL总结

    2019独角兽企业重金招聘Python工程师标准>>> 头部 <?xml version="1.0" encoding="UTF-8"? ...

  6. style标签中的几个属性

    1.vue中使用css通常采用如下形式 <style lang="scss" scoped></style> 2.lang="scss" ...

  7. MyBatis的<trim></trim>标签及prefix,suffix,suffixOverrides

    开发中常见用法 <insert id="insertSelective" parameterType="com.lwx.rental.core.db.po.Rent ...

  8. 在Mybatis的collection标签中获取以,分隔的id字符串

    2019独角兽企业重金招聘Python工程师标准>>> 有的时候我们把一个表的id以逗号(,)分隔的字符串形式放在另一个表里表示一种包含关系,当我们要查询出我们所需要的全部内容时,会 ...

  9. [html] html标签中的lang属性有什么作用?

    [html] html标签中的lang属性有什么作用? 根据lang属性来设定不同语言的css样式,或者字体告诉搜索引擎做精确的识别让语法检查程序做语言识别帮助翻译工具做识别帮助网页阅读程序做识别等等 ...

  10. Mybatis - xml文件标签中写注释

    Mybatis - xml文件标签中写注释 1.错误场景. ( /* */ 注释 ) 在IDEA中的直接使用快捷键注释 Ctrl + Shift + / 注释. SELECT t.name, t.ag ...

最新文章

  1. Linux基础命令-mkdir
  2. web开发中的缓存问题的研究(一)
  3. mac下导出kindle单词本的单词
  4. Get data from file(xxx.png) failed!
  5. struts2 mysql 分页代码_Struts2 + MySQL 实现分页
  6. SAP Spartacus HTTP请求url里的语言和货币参数是如何加上去的
  7. 基于Docker持续交付平台建设的实践
  8. QT程序在windows下部署发布
  9. 动视服务器状态,《使命召唤12》A.B.C服务器错误不用怕 动视给你支招
  10. 【Windows Phone设计与用户体验】关于移动产品的Loading用户体验的思考
  11. springMVC异常处理器:自定义异常处理器捕获系统异常,控制异常页面跳转
  12. 诡异的问题“该字符串未被识别为有效的 DateTime”
  13. web前端网页界面/css 仿微软官网界面
  14. 怎样下载mysql5.5_如何下载5.5版的mysql
  15. dpdk-pktgen快速发包工具踩坑日记
  16. FPGA零基础学习之旅#1 AC620V2开发板测试
  17. 笔记本创建wifi热点
  18. python二次函数拟合_Python实现——二次多项式回归(最小二乘法)
  19. win10设置锁屏密码_【Win10 技巧】把手机当成电脑一对一专属密匙,人机分离自动锁屏...
  20. 群发邮件软件怎么发,教你邮箱群发邮件小技巧

热门文章

  1. 7个引人注目的创新物联网应用
  2. PC设置切换Fn功能键
  3. 清华师哥封神之作!RocketMQ核心笔记疯传Ali内网
  4. 可以测试电脑网络速度的软件,介绍4种有用的Internet Speed软件应用程序,用于测试网络速度软件...
  5. python大神的成长之路普通话三分钟_我的成长之路普通话考试讲话三分钟范文
  6. feedburner怎么用_新手RSS订阅使用指南
  7. 如何在excel中输入身份证号
  8. vue - 禁止input[number]输入 +、-、e 符号,并且只能输入两位小数
  9. 蒲丰投针结果_Scratch3.0模拟布丰投针,求π的近似值#寻找真知派#
  10. 强化学习之Q函数的个人理解