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

  • 建安增值税怎么计算
  • 增值税发票管理办法及细则
  • 什么叫做增值税进项税额
  • 租赁违法处理
  • 会计录入凭证怎么录入
  • 营改增后服务业增值税税率
  • 银行多扣钱可以多倍赔偿吗
  • 增值税留抵怎么填申报表
  • 固定资产台账登记表明细科目写什么
  • 盘亏材料10000元,可以回收的保险赔偿
  • 资质招投标
  • 分公司帮总公司付款怎么做分录
  • 房屋征收服务中心是干什么的
  • 制造企业搬运系统设计重组带来新活力
  • 企业承租经营的承租人取得的所得
  • 餐饮业是否可以开专用发票
  • 建筑业开票内容
  • 财税2018年39号公告残保金
  • 外币报表折算差额为负数代表
  • 库存现金盘盈的账务处理中可能涉及的科目有
  • 回迁安置房拆一次多少钱
  • 联想怎么进入bios设置u盘启动
  • linux怎么启动.sh文件
  • frontpage在哪里打开
  • 游戏出现d3d11lostdevice
  • PHP:iconv_strlen()的用法_iconv函数
  • php测试mysql 数据库连接
  • 阿里前端做什么
  • 处理固定资产时的账务处理
  • 前端2020年趋势
  • ai工具用法
  • 【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布
  • c#怎么使用
  • win11系统自动更新
  • php 验证类
  • 给工程项目买保险合法吗
  • 小微企业所得税如何填报
  • 年终奖是以工资形式发放吗
  • 马踏棋盘游戏规则
  • 合同权益如何进行转让
  • 服务型企业要缴哪些税
  • 工装费用制度
  • 社保局会给失业人员打电话吗
  • 应交税费进项税额转出期末怎么结转
  • 小规模纳税人减按1%账务处理
  • 小规模纳税人缴纳本月未交增值税
  • 以前年度多记成本费用税前扣除,今年要怎么做分录冲销
  • 代开专票作废退税怎么做账?
  • 投标保证金怎么记账科目
  • 税法上的营业收入怎么算
  • 季节性移动的原因
  • 对公户单笔转账有限额吗
  • 进出口货物报关单
  • 企业的管理人员应该是互补型
  • 新注册的公司怎么申报个税
  • 数据库中多表连接的方式
  • windows7打游戏会卡怎么办
  • Windows Server 2008提升AD管理效率
  • 在苹果电脑mac上怎么下载
  • 怎么修改win10登录名
  • win10edge浏览器怎么设置兼容模式
  • linux中怎么在文件中添加内容
  • linux awk nr
  • 水下摄影技巧
  • jQuery ajax读取本地json文件的实例
  • 简单理解贴现
  • C#绘制准心脚本
  • unity摄像机在哪里
  • jquery是基于java的吗
  • [小权~编码路&Android] BroadcastReceiver应用详解
  • nodejs body-parser 解析post数据实例
  • jquery使用css方法添加图片边框视频教学
  • 全国企业信用信息系统网官网
  • 2021税收分类编码大全
  • 张家港建行上班时间安排
  • 重庆市国家税务局电子税务局官网
  • 江苏省常州市金坛区茅山风景区
  • 福建地税办税人变更流程
  • 百旺税控人工客服电话
  • 个人所得税怎么填写子女教育
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设