MyBatis批量添加、修改和删除
1、批量添加元素session.insert(String string,Object o)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public void batchInsertStudent(){List<Student> ls = new ArrayList<Student>();for(int i = 5;i < 8;i++){Student student = new Student();student.setId(i);student.setName("maoyuanjun" + i);student.setSex("man" + i);student.setTel("tel" + i);student.setAddress("浙江省" + i);ls.add(student);}SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();session.insert("mybatisdemo.domain.Student.batchInsertStudent", ls);session.commit();session.close();}<insert id="batchInsertStudent" parameterType="java.util.List">INSERT INTO STUDENT (id,name,sex,tel,address)VALUES <foreach collection="list" item="item" index="index" separator="," >(#{item.id},#{item.name},#{item.sex},#{item.tel},#{item.address})</foreach></insert> |
2、批量修改session. insert (String string,Object o)
实例1:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public void batchUpdateStudent(){List<Integer> ls = new ArrayList<Integer>();for(int i = 2;i < 8;i++){ls.add(i);}SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();session.insert("mybatisdemo.domain.Student.batchUpdateStudent",ls);session.commit();session.close();}<update id="batchUpdateStudent" parameterType="java.util.List">UPDATE STUDENT SET name = "5566" WHERE id IN<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >#{item}</foreach></update> |
实例2:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public void batchUpdateStudentWithMap(){List<Integer> ls = new ArrayList<Integer>();for(int i = 2;i < 8;i++){ls.add(i);}Map<String,Object> map = new HashMap<String,Object>();map.put("idList", ls);map.put("name", "mmao789");SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();session.insert("mybatisdemo.domain.Student.batchUpdateStudentWithMap",map);session.commit();session.close();}<update id="batchUpdateStudentWithMap" parameterType="java.util.Map" >UPDATE STUDENT SET name = #{name} WHERE id IN <foreach collection="idList" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach></update> |
3、批量删除session.delete(String string,Object o)
public void batchDeleteStudent(){List<Integer> ls = new ArrayList<Integer>();for(int i = 4;i < 8;i++){ls.add(i);}SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();session.delete("mybatisdemo.domain.Student.batchDeleteStudent",ls);session.commit();session.close();}<delete id="batchDeleteStudent" parameterType="java.util.List">DELETE FROM STUDENT WHERE id IN<foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach></delete>MyBatis批量添加、修改和删除的更多相关文章
- ASP.NET MVC用存储过程批量添加修改数据
用Entity Framework 进行数据库交互,在代码里直接用lamda表达式和linq对数据库操作,中间为程序员省去了数据库访问的代码时间,程序员直接可以专注业务逻辑层的编写.但是对于比较复杂的 ...
- EF 批量 添加 修改 删除
1批量添加 db.T_Investigator.AddRange(list) 2批量删除 db.T_Investigator.RemoveRange(list) 3批量修改 for 循 ...
- mybatis批量添加、批量删除
<!-- 批量添加 --> <insert id="insertNameListSynHisBatch" parameterType="java.uti ...
- DNS添加/修改/查询/删除A记录
#查询DNS可用类 Get-WmiObject -Namespace root\MicrosoftDNS -List #查询所有资源记录 $mydns = [WMIClass]"ROOT\M ...
- Mybatis 批量添加,批量更新
此篇适合有一定的mybatis使用经验的人阅读. 一.批量更新 为了提升操作数据的效率,第一想到的是做批量操作,直接上批量更新代码: <update id="updateBatchMe ...
- Zabbix 4.0 API 实践,主机/主机群组 批量添加模板和删除模板
场景 我们日常在管理Zabbix 的时候,经常会需要批量添加模板和批量删除模板,Zabbix页面是提供的批量链接的功能,但是它链接的也只是当前页的主机,我们想扩展这个功能,在链接的时候,可以批量链接整 ...
- Mybatis批量添加、更新小结
虽然是很基础的东西,不过难免会忘记,所以写个笔记巩固一下,顺便分享. 实体类: @Data public class EventOrder { private Long id; private ...
- Mybatis批量添加对象List
1.对应的xml文件: <!--批量添加--><insert id="insertStandardItemInfo" parameterType="ha ...
- myBatis批量添加实例
<!-- 批量添加中转地数据 --> <insert id="addBatch" parameterType="com.isoftstone. ...
- myBatis批量添加,修改和删除
摘自: http://blog.csdn.net/myjlvzlp/article/details/8434376 1.批量添加元素session.insert(String string,Objec ...
随机推荐
- Python与数据结构[4] -> 散列表[1] -> 分离链接法的 Python 实现
分离链接法 / Separate Chain Hashing 前面完成了一个基本散列表的实现,但是还存在一个问题,当散列表插入元素冲突时,散列表将返回异常,这一问题的解决方式之一为使用链表进行元素的存 ...
- golang笔记:net/smtp
跟go语言的net/smtp斗争了一天,记录下历程. 先用最标准的例子 host := net.JoinHostPort(hostname, port) auth := smtp.PlainAut ...
- RabbitMQ生产部署指南
像RabbitMQ这样的数据服务通常有许多可调参数.一些配置对开发有很大的意义,但并不适合生产,本指南旨在为此提供帮助 虚拟主机 例如,在单租户环境中,当您的RabbitMQ集群专门为生产中的单个系统 ...
- 【费马小定理+快速幂+逆元】BZOJ3240-[NOI2013]矩阵游戏
[题目大意] 若用F[i][j]来表示矩阵中第i行第j列的元素,则F[i][j]满足下面的递推式:F[1][1]=1F[i,j]=a*F[i][j-1]+b (j!=1)①F[i,1]=c*F[i-1 ...
- [NEERC2007][SHOI2008]Cactus Reloaded
题目大意: 给你一个仙人掌,求图中相距最远的点对之间的距离. 思路: Tarjan+DP. 我们先考虑一个树的情况. 设用far[u]表示点u出发到其子树中叶子节点的最大距离,若v为u的子结点,很显然 ...
- (转)MoMo的Unity3D研究院之Assetbundle的原理(六十一)
http://www.xuanyusong.com/archives/2373 Assetbundle 是Unity Pro提供提供的功能,它可以把多个游戏对象或者资源二进制文件封装到Assetbun ...
- 友情链接&部分题目的密码
YPL: https://www.cnblogs.com/Sdchr/ ZWL: https://www.cnblogs.com/acha XJ: https://blog.csdn.net/boyx ...
- IOS后台运行 之 后台播放音乐
iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,Av ...
- Redis Exception: Exceeded timeout of 00:00:03
Redis Exception: Exceeded timeout of 00:00:03 居然是 重启了网管, 把网络禁用重启就好了. 服 最终更新: 原来是架构湿 设置为每分钟只能读取6 ...
- 不仅仅是浏览器 走近Chrome开发人员工具
Chrome浏览器以其简单.快速.安全.稳定.扩展丰富等特性受到了不少人的喜爱,除了这些特性,Chrome浏览器还提供了非常简单方便的开发人员工具,可以为开发提高效率,加上Chrome浏览器对HTML ...