电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

mybatis框架xml下trim中的prefix與suffix等標簽的用法

瀏覽:23日期:2023-10-18 16:19:49
trim中prefix與suffix等標簽用法

1.prefix 前綴增加的內容

2.suffix 后綴增加的內容

3.prefixOverrides 前綴需要覆蓋的內容,一般是第一個判斷條件前面的多余的結構,如:第一個判斷條件前面多了 ‘and’

select * from User where name=’zhangsan’ and age=’20’;

<select id=’queryUser’>select * from User<trim prefix=’where’ prefixOverrides=’and’> <if test='name != null and name != ’’'>name = #{name} </if> <if test='age !=null and age !=’’'>and age = #{age} </if></trim><select>

第一個條件前面沒有任何符號,第二個條件要加上and,否則sql語句會報錯。很理想的狀態是第一個和第二個都有值,但是既然判斷,說明也可能會沒有值,當第一個name沒有值的時候,這個時候sql語句就會是 select * from User where and age=’’,很明顯這個sql語句語法存在問題。

在這里標簽屬性prefixOverrides就起作用了,它會讓前綴where覆蓋掉第一個and。覆蓋之后的是:select * from User where age=’’;

4.suffixOverrides 后綴需要覆蓋的內容,一般是最后一個數據的后面符號,如:set值的時候,最后一個值的后面多一個逗號‘,’

<insert parameterType='org.javaboy.vhr.model.Salary'>insert into salary<trim prefix='(' suffix=')' suffixOverrides=','> <if test='id != null'>id, </if> <if test='basicSalary != null'>basicSalary, </if> <if test='bonus != null'>bonus, </if> <if test='lunchSalary != null'>lunchSalary, </if> <if test='trafficSalary != null'>trafficSalary, <if test='name != null'>name, </if></trim><trim prefix='values (' suffix=')' suffixOverrides=','> <if test='id != null'>#{id,jdbcType=INTEGER}, </if> <if test='basicSalary != null'>#{basicSalary,jdbcType=INTEGER}, </if> <if test='bonus != null'>#{bonus,jdbcType=INTEGER}, </if> <if test='lunchSalary != null'>#{lunchSalary,jdbcType=INTEGER}, </if> <if test='trafficSalary != null'>#{trafficSalary,jdbcType=INTEGER}, </if> <if test='name != null'>#{name,jdbcType=VARCHAR}, </if></trim> </insert>加了suffixOverrides=','

結果:

insert into salary (id,basicSalary,bonus,lunchSalary,trafficSalary,name) values (#{id},#{basicSalary},#{bonus},#{lunchSalary},#{trafficSalary},#{name})不加suffixOverrides=','

結果:

insert into salary (id,basicSalary,bonus,lunchSalary,trafficSalary,name,) values (#{id},#{basicSalary},#{bonus},#{lunchSalary},#{trafficSalary},#{name},)

加了suffixOverrides=','的話,本例中最后一個條件中的逗號“,”會被后綴覆蓋掉

mybatis之 trim prefix='(' suffix=')'1.如下所示

<trim prefix='' suffix='' suffixOverrides='' prefixOverrides=''></trim>

prefix:在trim標簽內sql語句加上前綴。

suffix:在trim標簽內sql語句加上后綴。

suffixOverrides:指定去除多余的后綴內容,如:suffixOverrides=',',去除trim標簽內sql語句多余的后綴','。

prefixOverrides:指定去除多余的前綴內容

2.下面是一個往購物車表中插入數據的mybatis語句

<insert parameterType='com.tortuousroad.groupon.cart.entity.Cart'>insert into cart<trim prefix='(' suffix=')' suffixOverrides=','> <if test='id != null'>id, </if> <if test='userId != null'>user_id, </if> <if test='dealId != null'>deal_id, </if> <if test='dealSkuId != null'>deal_sku_id, </if> <if test='count != null'>count, </if> <if test='createTime != null'>create_time, </if> <if test='updateTime != null'>update_time, </if></trim><trim prefix='values (' suffix=')' suffixOverrides=','> <if test='id != null'>#{id,jdbcType=BIGINT}, </if> <if test='userId != null'>#{userId,jdbcType=BIGINT}, </if> <if test='dealId != null'>#{dealId,jdbcType=BIGINT}, </if> <if test='dealSkuId != null'>#{dealSkuId,jdbcType=BIGINT}, </if> <if test='count != null'>#{count,jdbcType=INTEGER}, </if> <if test='createTime != null'>#{createTime,jdbcType=TIMESTAMP}, </if> <if test='updateTime != null'>#{updateTime,jdbcType=TIMESTAMP}, </if></trim> </insert>

suffixOverrides=','

執行的sql語句也許是這樣的:insert into cart (id,user_id,deal_id,) values(1,2,1,);顯然是錯誤的

指定之后語句就會變成insert into cart (id,user_id,deal_id) values(1,2,1);這樣就將“,”去掉了。

前綴也是一個道理這里就不說了。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: IIS7站长之家-站长工具-爱网站请使用IIS7站长综合查询工具,中国站长【WWW.IIS7.COM】 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 广州活动策划公司-15+年专业大型公关活动策划执行管理经验-睿阳广告 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 南京租车,南京汽车租赁,南京包车,南京会议租车-南京七熹租车 | 食品级焦亚硫酸钠_工业级焦亚硫酸钠_焦亚硫酸钠-潍坊邦华化工有限公司 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 英超直播_英超免费在线高清直播_英超视频在线观看无插件-24直播网 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 代理记账_免费注册公司_营业执照代办_资质代办-【乐财汇】 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 吨袋包装机|吨包秤|吨包机|集装袋包装机-烟台华恩科技 | 高精度-恒温冷水机-螺杆式冰水机-蒸发冷冷水机-北京蓝海神骏科技有限公司 | 热缩管切管机-超声波切带机-织带切带机-无纺布切布机-深圳市宸兴业科技有限公司 | 带式压滤机_污泥压滤机_污泥脱水机_带式过滤机_带式压滤机厂家-河南恒磊环保设备有限公司 | 叉车电池-叉车电瓶-叉车蓄电池-铅酸蓄电池-电动叉车蓄电池生产厂家 | 酒水灌装机-白酒灌装机-酒精果酒酱油醋灌装设备_青州惠联灌装机械 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 天长市晶耀仪表有限公司 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 磁力链接搜索神器_BT磁力狗_CILIMAO磁力猫_高效磁力搜索引擎2024 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 除甲醛公司-甲醛检测-广西雅居环境科技有限公司 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 路面机械厂家 | 热风机_工业热风机生产厂家上海冠顶公司提供专业热风机图片价格实惠 | 食安观察网| 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 | 设计圈 - 让设计更有价值!| 好物生环保网、环保论坛 - 环保人的学习交流平台 | 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 |