mybatis中trim,foreach等标签以及prefixOverrides、suffixOverrides等属性的意义以及使用

您所在的位置:网站首页 ior后缀用法 mybatis中trim,foreach等标签以及prefixOverrides、suffixOverrides等属性的意义以及使用

mybatis中trim,foreach等标签以及prefixOverrides、suffixOverrides等属性的意义以及使用

2024-03-30 14:45| 来源: 网络整理| 查看: 265

1.首先来看一下常用的属性作用 1.以下是trim标签中涉及到的属性 属性prefix拼接sql语句中所用到的前缀suffix拼接sql语句中所用到的后缀prefixOverrides去除sql语句前面的关键字或者字符,该关键字或者字符由prefixOverrides属性指定,假设该属性指定为"AND",当sql语句的开头为"AND",trim标签将会去除该"AND"suffixOverrides去除sql语句后面的关键字或者字符,该关键字或者字符由suffixOverrides属性指定 2.trim的用法

mybatis的trim功能很强大,可用于给sql语句前面去拼接WHERE,SET,等前缀,或者添加’(’,’)'大小括号等后缀。也可以用于去除sql中的多余and,or关键字等。

例1: 去除多余的前缀and

select * from id= #{id} AND name like #{name}

1.这段代码,state!=null,情况下

select * from where id = #{id} and name like = #{name}

2.当id为null的异常情况下

select * from where and name like = #{name}

这个时候拼接的sql有问题,where and 肯定会报错。当加上属性 prefixOverrides=“AND”,一切回归正常。

select * from id= #{id} AND name like #{name}

例2: 去除多余的后缀 ’,‘。 例3:来看一个经典的trim用法

update MCC_OFFER_FULFILL when id=#{cus.id} then #{cus.name}

结果:

update MCC_OFFER_FULFILL set c_name = case when id=#{cus.id} then #{cus.name} end 2.foreach的用法 1.以下是foreach标签中涉及到的属性 item集合中元素迭代时的别名index集合中元素迭代时的索引open常用语where语句中,表示以什么开始,比如以’('开始separator表示在每次进行迭代时的分隔符,close常用语where语句中,表示以什么结束, 不管是多参数还是单参数的list,array类型,都可以封装为map进行传递。如果传递的 是一个List,则mybatis会封装为一个list为key,list值为object的map,如果是array, 则封装成一个array为key,array的值为object的map,如果自己封装呢,则colloection 里放的是自己封装的map里的key值

例子:常见用法:

select * FROM USER where id in #{userid}

下班了! 以后再补!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3