常用的Mybatis标签介绍(六)

简介: 常用的Mybatis标签介绍(六)

与<select>标签有关的内容介绍完了以后,下面就介绍一个实现批量插入或更新或删除的标签<foreach>。当然这个标签也可以用到<select>标签里实现in的查询场景,其实用法都是一样的,这里只以<insert>标签做批量插入介绍演示。

这里先假设有个POJO类叫User,有一张表t_user

ClassUser{
privateLongid;
privateStringname;
privateIntegerage;
//get set}
CREATETABLE `t_user` (  `id` int(11)NOTNULL AUTO_INCREMENT,  `name` varchar(30)NULL DEFAULT NULL,  `age` int(11)NULL DEFAULT NULL,  PRIMARY KEY (`id`) USING BTREE
)

要实现批量插入用户数据可以用下面这种写法(以Mysql为例,Oracle或者其他数据库对批量数据开始和结尾符号要求不一样,自行搜索其他数据库的写法即可)

<insertid="insertUserBatch"parameterType="list">      INSERT INTO t_user
        (name,
        age
        )
        VALUES
<foreachcollection="list"item="obj"separator=",">        (#{obj.name},
        #{obj.age}
        )
</foreach></insert>

<foreach> 标签是 MyBatis 中用于在 SQL 查询中实现循环遍历的标签。它允许你根据集合或数组的元素,在 SQL 查询中动态地构建多个条件或参数,从而实现更灵活和动态的查询操作。

<foreach> 标签的基本语法如下:

<foreach collection="collectionName" item="itemName" index="indexName" open="(" separator="," close=")">

   -- 在这里放入要循环的 SQL 片段,可以使用 #{item} 来引用集合或数组的元素

</foreach>

collection: 指定要遍历的集合或数组的名称,在 MyBatis 的 Mapper XML 中可以通过参数传递。

item: 指定集合或数组中的元素在循环过程中的变量名,可以在 <foreach> 标签内部引用。

index (可选): 指定循环索引的变量名,用于遍历数组时获取元素的索引。

open (可选): 指定循环开始时的字符串,通常是左括号 "(",表示开始拼接 SQL 语句的位置。

separator (可选): 指定每次循环元素之间的分隔符,用于拼接多个元素的 SQL 片段。

close (可选): 指定循环结束时的字符串,通常是右括号 ")",表示结束拼接 SQL 语句的位置。

目录
相关文章
|
Java 数据库连接 mybatis
mybatis的set标签
mybatis的set标签
108 0
|
9月前
|
SQL Java 数据库连接
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
1030 0
MyBatis【源码探究 01】mapper.xml文件内<if test>标签判断参数值不等于null和空(当参数值为0)时筛选条件失效原因分析
|
9月前
|
SQL XML Java
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
85 0
|
SQL Java 数据库连接
mybatis的trim标签insert标签update标签
mybatis的trim标签insert标签update标签
|
5月前
|
SQL XML Java
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
|
5月前
|
SQL XML Java
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
文章介绍了MyBatis中高级查询的一对多和多对一映射处理,包括创建数据库表、抽象对应的实体类、使用resultMap中的association和collection标签进行映射处理,以及如何实现级联查询和分步查询。此外,还补充了延迟加载的设置和用法。
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
|
4月前
|
SQL XML Java
Mybatis的<where>,<if>等标签用法
这篇文章详细解释了Mybatis中<where>和<if>等标签的用法,展示了如何在SQL动态构建中有效地过滤条件和处理逻辑分支。
379 1
|
4月前
|
SQL Java 数据库连接
Mybatis入门(select标签)
这篇文章介绍了Mybatis中`select`标签的基本用法及其相关属性,并通过示例展示了如何配置和执行SQL查询语句。
91 0
Mybatis入门(select标签)
|
4月前
|
SQL Java 数据库连接
Mybatis的<insert>,<update>,<delete>标签用法
这篇文章详细讲解了Mybatis中<insert>, <update>, <delete>标签的使用方法,并提供了示例代码来展示如何执行数据库的增删改操作。
345 0
|
Java 数据库连接 mybatis
mybatis的choose,when,otherwize标签
mybatis的choose,when,otherwize标签