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 ...
随机推荐
- ZJOI2006书架
追yql做题记录的时候做到的……一道Splay模版题…… 啊LCT写久了都有点忘了Splay了(什么奇怪的逻辑?) 其实说白了五个操作: 1. 将某元素置顶:将元素旋到根,然后将左子树合并到该元素的后 ...
- 我的一次安装oracle的过程
1.在装oracle之前,先安装.net3.5 2.然后正常安装oracle,一直next 3.装完oracle后,安装plsql dev工具,打开工具,发现没有connect as,是需要进行一些配 ...
- Selenium2+python自动化34-获取百度输入联想词【转载】
前言 最近有小伙伴问百度输入后,输入框下方的联想词如何定位到,这个其实难度不大,用前面所讲的元素定位完全可以定位到的. 本篇以百度输入框输入关键字匹配后,打印出联想词汇. 一.定位输入框联想词 1.首 ...
- LNMP的基本配置
LNMP的基本配置cd /usr/local/nginx_php/etc/ > php-fpm.conf //清空php-fpm.conf vim ph ...
- python-函数(装饰器)
装饰器 装饰器的主要功能: 在不改变函数调用方式的基础上在函数的前.后添加功能. 装饰器的固定格式: #装饰器的本质 :闭包函数 #功能:就是在不改变原函数调用方式的情况下,在这个函数前后加上扩展功能 ...
- 描述一下JVM加载class文件的原理机制
Java中的所有类,都需要由类加载器装载到JVM中才能运行.类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中.在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的 ...
- 原生js编写设为首页兼容ie、火狐和谷歌
// JavaScript Document // 加入收藏 <a onclick="AddFavorite(window.location,document.title)" ...
- Web CI过程中的Security解决方案
http://www.infoq.com/cn/articles/WebScan-CI 一. 当前Web应用安全现状 随着中国互联网金融的爆发和繁荣,Web应用在其中扮演的地位也越来越重要,比如Web ...
- BigDecimal不整除异常
通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常的 异 常 :java.lang.ArithmeticException: Non-terminatin ...
- python 统计发送请求到接收response的时间
由于需要测试请求一个接口所耗用的时间,在网上查找资料也麻烦,所以自己总结一下 找到elapsed 函数 ,按照文档说的是获取请求发出的时间至响应到达经过的时间,,具体用法如下: 执行的结果是 微秒 单 ...