Springboot+Mybatis(Mysql 、Oracle) 注解和使用Xml两种方式批量添加数据
1、使用注解的方式批量添加数据,在该方法中,传进来的参数是一个List集合,使用一个foreach 循环解析集合的数据,最后再批量保存到数据库
代码如下:
//批量保存 |
|
第二种方式是springboot结合mybatis 使用xml文件时候的批量添加数据,在该方法中,传进来的同样是一个List集合数据,需要注意的地方已标红
代码如下:
<insert id="addUserGroupRelationList" parameterType="java.util.List"> |
|
上面两个添加语句使用的数据库都是Oracle,下面再来介绍一下使用XML 文件往Mysql数据库批量添加数据,不同的数据库批量添加使用的语句还是有一些小区别的,下面直接看代码吧:
<insert id="saveAllExcelData" parameterType="java.util.List"> INSERT INTO sys_veterinary( name, address, longitude, latitude, phone, store_keeper, scope, skill)values <foreach collection="list" item="item" index="index" separator=","> ( #{item.name,jdbcType=VARCHAR}, #{item.address,jdbcType=VARCHAR}, #{item.longitude,jdbcType=VARCHAR}, #{item.latitude,jdbcType=VARCHAR}, #{item.phone,jdbcType=VARCHAR}, #{item.storeKeeper,jdbcType=VARCHAR}, #{item.scope,jdbcType=VARCHAR}, #{item.skill,jdbcType=VARCHAR} ) </foreach> </insert>
新增批量删除:(oracle数据库)
<delete id="deleteById" parameterType="java.util.List"> delete from User t where id in <foreach item="item" collection="list" open="(" separator="," close=")"> #{item.userId,jdbcType=VARCHAR} //传进来的是实体类集合,只要获取每条数据的id即可 </foreach> </delete>
小提示:一开始可以先用sql语句去数据库中运行添加,看能否成功添加,一般sql语句可以正常执行,再转换一下思路就能在代码中实现了。