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 ...
随机推荐
- 【计算机网络】wireshark抓包分析2
在分析1中,大概的看到了一个包中的信息.这里,看看这些包究竟在做什么 这是我的电脑跟某个网站交互的前4个包. 其中前三个包可以明显看出是TCP的三次握手. 那么,问题来了: 为什么第三个包的长度比前两 ...
- k8s 组件架构
一.整体架构 kubernetes分为 master节点和工作节点,前者是管理节点,后者是容器运行的节点.其中master节点主要有3个重要组件,分别是APIServer,sheduler和contr ...
- PEP 3106 -- Revamping(改进) dict.keys(), .values() and .items()
1. Abstract(摘要) This PEP proposes(建议) to change the .keys(), .values() and .items() methods of the b ...
- hdu 2196(方法1:经典树形DP+方法2:树的直径)
Computer Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- MATLAB作图方法与技巧(二)
作为MATLAB作图方法与技巧(一)的补充 1.绘制二维散点图 ① scatter函数 scatter(x,y,s,c)函数绘制向量x和y的散点图,其中s代表点的大小,c代表点的形状,s和c缺省时为默 ...
- 12、Flask实战第12天:子域名
什么是子域名,我们的后台管理系统, 比如cms.heboan.com.配置子域名需要用到蓝图技术: 我现在buleprints下面创建一个cms.py 蓝图 from flask import Blu ...
- ASP.net 资源请求漏洞利用工具PadBuster
ASP.net 资源请求漏洞利用工具PadBuster 在ASP.net 网站中,为了便于部署网站项目,开发者往往会将资源(图片.Javascript文件)嵌入到dll文件中.而网页中,会使用WebR ...
- Scrum 实施中遇到的典型问题
Scrum实施过程中遇到的典型问题,答案综合了网络中的借鉴和自己实践中的体会. Q1:技术负债在敏捷团队中会快速的膨胀. A1:由于敏捷开发过程没有充足的事前(up-front)设计,技术负债是不可避 ...
- []End of 2017OI
今年大概到此为止了,现在这个算是做一个简短的阶段性总结吧 今年打的第一场大概是省赛,当时整个人处于(迷茫,不知道选物理还是选信息+备战中考+持续摸鱼OI颓废)的状态,KMP都不会导致签到题都没有分,然 ...
- 【块状链表】AutSky_JadeK的块状链表模板+总结(STL版)
Part 1.块状链表. 定位 插入 删除 数组 O(1) O(n) O(n) 链表 O(n) O(1) O(1) 对于线性表的以上常见操作来说,数组和链表都无法有效地解决.但是,若我们将链表的每 ...