位置: 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怎么制作)

  • 外出经营是什么意思
  • 年末计提坏账准备金额怎么算
  • 需要登记的特殊药品
  • 行政单位盘盈固定资产应按什么入账
  • 投资性房地产的初始计量
  • 物业前期开办物资
  • 现金折让怎么做会计分录
  • 商品房买卖合同没有约定逾期交房违约金
  • 新公司接手之前公司的固定资产
  • 净利润增长率计算公式是什么意思
  • 销项负数发票会计摘要
  • 营改增后不动产出租适用税率
  • 案例分析建筑业差额征税如何进行账务处理?
  • 7月1日后通用机打发票纳税人识别号怎么填?
  • 继承的房产出售要交20%是全额还是差额
  • 资产损失申报方式
  • 内含报酬率的计算公式插值法
  • 采购商品产生的费用有哪些
  • 消费税漏缴怎么补缴
  • 商场金银饰品销售该如何建账?
  • 法定盈余公积金转增资本不超过25%
  • 根据规定签发汇票凭证必须记载的事项有
  • 发票有问题找谁
  • 筹建期间开办费账务处理
  • 每季度财务报表
  • 用于在建工程的固定资产是否可以计提折旧
  • 企业委托研发过程中发生的研发费用如何加计扣除?
  • 预借现金和现金分期的区别
  • 融资租入固定资产改建支出计入
  • 所得税到底按会计分录吗
  • 没有一般纳税人证明怎么办
  • PHP clearstatcache()函数详解
  • PHP:session_unregister()的用法_Session函数
  • 折旧计算表属于外来原始凭证吗
  • win10开机启动文件夹目录说明
  • b/s架构的正确解释方式
  • css选择器分哪几类
  • 浅谈双减背景下的高效课堂
  • 前端生成docx
  • uni.getstorage
  • vue前进后退
  • php经典面试题及答案
  • 材料明细帐
  • vue-print-nb-jeecg
  • 财政补助收入分录
  • 财政拨入的科技费是什么
  • 所得税汇算会计处理
  • 增值税和个人所得税怎么算
  • sqlserver批量更新存储脚本
  • 期末应交增值税的会计科目怎么做
  • 不符合资本化的长期借款利息计入什么科目
  • 商誉的会计核算怎么核算
  • 异价调拨什么意思
  • 政府拨款怎么做账
  • 管理费用抵消分录
  • 老板垫付工资账务处理
  • 折旧和摊销的概念
  • 出纳现金业务流程图
  • 工资全扣是什么意思
  • 开发软件应采用
  • 事业单位收到钱怎么记账
  • 我国开征股票交什么税
  • mysql --help
  • mysql读写分离实现原理
  • win8无线网受限
  • centos7(core)
  • mac识别文字软件
  • 免费获取验证码
  • pm是什么软件的缩写
  • 超人飞车助手下载安装
  • EGL简介
  • unity ugui合批
  • javascript函数大全
  • android图片裁剪
  • 厂房转让的土地税怎么算
  • 分国分项抵免法
  • 八个点可以开出几张发票
  • 武汉市国税局局长黄英简历
  • 安徽高考实行什么模式
  • 荆州区国税局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设