位置: IT常识 - 正文

mybatis常用标签(refid、foreach、trim)(mybatis isnotempty标签)

编辑:rootadmin
mybatis常用标签(refid、foreach、trim) 1.问题来源

推荐整理分享mybatis常用标签(refid、foreach、trim)(mybatis isnotempty标签),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mybatis常用标签有哪些,mybatis常用标签有哪些,mybatisforeach标签,mybatisforeach标签,mybatis常用的标签,mybatisbind标签,mybatiswhen标签,mybatiswhen标签,内容如对您有帮助,希望把文章链接给更多的朋友!

在之前查询数据库的时候基本都是使用

select * from student;SELECT name, prod_price FROM products;

但是很多时候我们并不需要查询数据库中的全部字段,直接查全部字段会降低效率,同时很多字段的组合是经常被使用到的,每次都单独写出来很麻烦

2.Mybatis解决 对于上述问题,Mybatis的映射文件中为我们引入了<include refid="Base_Column_List" /> ,意思就是固定几个需要查询的字段,在sql语句中不需要写具体的字段了。具体使用如下:

<sql id="Base_Column_List"> id, username, password, email, phone, question, answer, role, create_time, update_time</sql><select id="selectByUsername" parameterType="java.lang.String" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from mall_user where username = #{username,jdbcType=VARCHAR}</select>

2、mybatis动态sql中foreach标签的使用

foreach标签主要用于构建in条件,他可以在sql中对集合进行迭代。如下:

<delete id="deleteBatch"> delete from user where id in<foreach collection="array" item="id" index="index" open="("  close=")" separator=","> #{id} </foreach></delete>

我们假如说参数为----  int[] ids = {1,2,3,4,5}  ----那么打印之后的SQL如下:

delete form user where id in (1,2,3,4,5)释义: collection:collection属性的值有三个分别是list、array、map三种,分别对应的参数类型为:List、数组、map集合,我在上面传的参数为数组,所以值为array

item :表示在迭代过程中每一个元素的别名

index:表示在迭代过程中每次迭代到的位置(下标)

open :前缀

close:后缀

mybatis常用标签(refid、foreach、trim)(mybatis isnotempty标签)

separator:分隔符,表示迭代时每个元素之间以什么分隔

我们通常可以将之用到批量删除、添加等操作中。

相当于mysql里的游标!!!

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

trim标记是一个格式化的标记(format),可以完成set或者是where标记的功能,如下代码:

1、

select * from user<trim prefix="WHERE" prefix override="AND |OR"><if test="name != null and name.length()>0"> AND name= #{name}</if><if test="gender != null and gender.length()>0"> AND gender= #{gender}</if></trim>

假如说name和gender的值都不为null的话打印的SQL为:

select * from user where   #  name = 'xx' and gender = 'xx'

在红色# 标记的地方是不存在第一个and的,上面两个属性的意思如下:

prefix:前缀      

prefixoverride:去掉第一个and或者是or

2、

update user<trim prefix="set" suffix override="," suffix=" where id =#{id} "><if test="name != null and name.length()>0"> name=#{name} ,</if><if test="gender != null and gender.length()>0"> gender=#{gender} , </if></trim>

假如说name和gender的值都不为null的话打印的SQL为:

update user set name='xx' , gender='xx' #  whereid='x'

在红色标记的地方不存在逗号,而且自动加了一个set前缀和where后缀,上面三个属性的意义如下,其中prefix意义如上:

suffixoverride:去掉最后一个逗号(也可以是其他的标记,就像是上面前缀中的and一样)

suffix:后缀

本文链接地址:https://www.jiuchutong.com/zhishi/299686.html 转载请保留说明!

上一篇:【Android源码面试宝典】MMKV从使用到原理分析(二)(android界面源码)

下一篇:html+css+js制作LOL官网,web前端大作业(3个页面+模拟登录+链接)(js怎么制作)

  • 快手个性化设置没有显示使用的音乐(快手个性化设置怎么设置开关)

    快手个性化设置没有显示使用的音乐(快手个性化设置怎么设置开关)

  • 微博登录加载失败c403(微博登录加载失败)

    微博登录加载失败c403(微博登录加载失败)

  • 微信视频号怎么看粉丝(微信视频号怎么看历史观看记录)

    微信视频号怎么看粉丝(微信视频号怎么看历史观看记录)

  • 联发科6750是骁龙处理器多少(联发科6750相当于骁龙哪款)

    联发科6750是骁龙处理器多少(联发科6750相当于骁龙哪款)

  • 微信语音久了自动挂断(微信语音自动中断怎么回事)

    微信语音久了自动挂断(微信语音自动中断怎么回事)

  • 苹果怎么设置拦截骚扰电话(苹果怎么设置拦截骚扰信息和电话)

    苹果怎么设置拦截骚扰电话(苹果怎么设置拦截骚扰信息和电话)

  • 苹果x屏幕出现一条绿线可以修复吗(苹果换屏幕后屏幕乱跳)

    苹果x屏幕出现一条绿线可以修复吗(苹果换屏幕后屏幕乱跳)

  • 换手机卡需要关机吗(换手机卡需要关卡吗)

    换手机卡需要关机吗(换手机卡需要关卡吗)

  • 联通光猫正常工作亮几个灯(联通光猫正常工作亮几个灯图解)

    联通光猫正常工作亮几个灯(联通光猫正常工作亮几个灯图解)

  • 为什么wi-fi满格信号却没有网络(为什么wifi满格还是很卡)

    为什么wi-fi满格信号却没有网络(为什么wifi满格还是很卡)

  • 电脑打印按哪两个键(电脑打印用哪两个键)

    电脑打印按哪两个键(电脑打印用哪两个键)

  • 闲鱼商品保障服务怎么开通(闲鱼商品保障服务)

    闲鱼商品保障服务怎么开通(闲鱼商品保障服务)

  • 导航卡与内存卡的区别(导航卡是不是内存卡?)

    导航卡与内存卡的区别(导航卡是不是内存卡?)

  • 小米手机跳屏怎么解决办法(小米手机跳屏怎么解决办法是不是程序混乱了)

    小米手机跳屏怎么解决办法(小米手机跳屏怎么解决办法是不是程序混乱了)

  • ios12测试版怎样降(ios12测试版beta)

    ios12测试版怎样降(ios12测试版beta)

  • 华为nova3i有otg吗

    华为nova3i有otg吗

  • 快手个人主页怎么找(快手个人主页怎么挂小黄车)

    快手个人主页怎么找(快手个人主页怎么挂小黄车)

  • 如何把抖音视频设成锁屏(如何把抖音视频下载下来)

    如何把抖音视频设成锁屏(如何把抖音视频下载下来)

  • 苹果笔记本怎么查型号(苹果笔记本怎么截图)

    苹果笔记本怎么查型号(苹果笔记本怎么截图)

  • 腾讯围棋怎么修改资料(腾讯围棋怎么修改段位)

    腾讯围棋怎么修改资料(腾讯围棋怎么修改段位)

  • airpods2有黑色吗(airpods pro2黑色)

    airpods2有黑色吗(airpods pro2黑色)

  • 微信红包为什么不能领取(微信红包为什么收不了钱)

    微信红包为什么不能领取(微信红包为什么收不了钱)

  • 通用型贴膜器怎么用(通用贴膜神器教程图解)

    通用型贴膜器怎么用(通用贴膜神器教程图解)

  • 手把手教你如何Vue项目打包dist文件并Tomcat发布【超级详细】(手把手教你如何套路男神)

    手把手教你如何Vue项目打包dist文件并Tomcat发布【超级详细】(手把手教你如何套路男神)

  • 资产负债表应交税费
  • 国税如何零申报
  • 小微企业年度所得税优惠政策
  • 房租确认后能不退押金吗
  • 政府补助属于不征收收入汇算清缴怎么填写
  • 主营业务收入明细表格模板
  • 工资记借方还是贷方
  • 小规模纳税人涉税风险
  • 政府补助递延收益和其他收益的区别
  • 掌握无形资产核算方法
  • 公司卖房产怎么缴税
  • 支付结算有哪些工具
  • 员工的油费补贴怎么算
  • 其他应收款直接计入营业外收入
  • 3%的增值税专用发票可以退税吗可以抵扣吗
  • 收到差额纳税的发票进项税能抵扣吗
  • 企业营改增对企业税负影响分析
  • 个体经营户如何开电子发票
  • 支付的租金计入什么会计科目
  • 携税宝可以全额抵扣吗
  • 旅游业适用差额征税政策时如何开具发票?
  • 无租使用房产怎么缴纳房产税土地税
  • 收回长期股权投资账务处理成本法
  • 出售设备折旧
  • 小规模申报个税手续费返还在哪填写信息
  • 应付职工薪酬在借方是什么意思
  • 安全中心总是弹出来
  • 预提成本的账务处理
  • 财政补贴会计入养老金一起发放吗
  • 民间非营利组织会计账务处理
  • 应收账款需要计提坏账准备吗
  • 纳税人转登记期限
  • php socket_create
  • pytorch go
  • CSS渐变背景应用
  • 转正差额怎么算
  • 支付中介费和物业费比例
  • 残疾人就业保障金减免政策2023
  • 农机融资租赁公司联系方式
  • 非盈利企业怎么做账
  • 怎么查企业历史
  • 本月发生的费用,下月取得发票,怎么做账
  • 转让旧固定资产怎么处理
  • 工会经费计入什么项目流量表
  • 印花税计入相关资产成本吗
  • 退回资金怎么做账
  • 生产成本人工费结转
  • 公司委托银行付款的账务处理
  • 免税企业开了含税吗
  • 车辆购置税的会计科目怎么写
  • 业务招待费算期间费用吗
  • 预付调整到其他应付款
  • 事业单位应设置事业收入科目
  • sql解析原理
  • mysql中的groupby
  • mysql8.0.23
  • SQLserver导入Excel文件到表
  • sqlserver的基本语句
  • mysql_info
  • win10应用商店下载路径更改
  • centos 文件管理
  • 影响电脑速度的因素
  • mac怎么自定义桌面图标
  • 惠普笔记本win8.1
  • jquery.ui
  • cocos creator3
  • jquery实战
  • Android游戏开发案例教程小小弹球
  • ipa文件分享
  • 用python的turtle画图代码
  • js制作网页制作步骤
  • Android应用开发实训
  • kraken框架
  • python的面向对象和模块原理
  • 公司跨区迁移税务查账严吗
  • 浙江网上税务局app下载
  • 消费税的征收范围是如何规定的
  • 如何查询公司的电话号码
  • 广东省电子税务局app下载官网
  • 每月个人所得税扣除标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设