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 ...
随机推荐
- Ajax 入门笔记
AJAX =Asynchronous Javascript + XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步 ...
- 【C语言】++(a++)的写法是错的
http://bbs.csdn.net/topics/390764053 a++得到的是一个右值,++操作需要的是一个左值. ------------------------------------- ...
- 【计算机网络】http中get和post的区别
常见回答: 1. GET使用URL或Cookie传参.而POST将数据放在BODY中. 2. GET的URL会有长度上的限制,则POST的数据则可以非常大. 3. POST比GET安全,因为数据在地址 ...
- PHP7中php.ini、php-fpm和www.conf的配置(转)
根据前文 <2015博客升级记(五):CentOS 7.1编译安装PHP7> 的 configure 编译参数设定,安装后的PHP7配置文件所在路径是 /usr/local/php7/et ...
- Redis数据类型的常用API以及使用场景
一.通用命令 1.keys 遍历出所有的key 一般不在生产环境使用 2.dbsize key的总数 3.exists key 4.del key 删除指定key-value 5.expire k ...
- 【转载】一键安装maven脚本
#!/bin/bashif [ -z "${MAVEN_HOME}" ]; then #得到时间 TIME_FLAG=`date +%Y%m%d_%H%M%S` #备份配置文件 c ...
- mysql 文本搜索
全文本搜索 MySQL支持几种基本的数据库引擎,但并非所有的引擎都支持全文本搜索.两个最常使用的引擎为MyISAM和InnoDB,前者支持全文本搜索,后者就不支持. 理解全文本搜索 在前面的学习中,我 ...
- 设计模式-观察者模式(Observer Pattern)
本文由@呆代待殆原创,转载请注明出处:http://www.cnblogs.com/coffeeSS/ 观察者模式简述 观察者模式的使用非常广泛,常用于建立起一种多对一的关系,该模式一定会包含两个角色 ...
- 加密连接工具Cryptcat
加密连接工具Cryptcat Cryptcat是网络工具Netcat的加密版本.Cryptcat支持TCP.UDP两种网络协议.它可以在两个计算机之间建立指定的连接,并使用特定的密钥对传输数据进行 ...
- 自定义编写jmeter的Java测试代码
我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","JavaV ...