博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis批量添加、修改和删除
阅读量:5328 次
发布时间:2019-06-14

本文共 2865 字,大约阅读时间需要 9 分钟。

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>

转载于:https://www.cnblogs.com/ceshi2016/p/6480530.html

你可能感兴趣的文章
[Windows Server]安装系统显示“缺少计算机所需的介质驱动程序”解决方案
查看>>
[容斥][dp][快速幂] Jzoj P5862 孤独
查看>>
Lucene 学习之二:数值类型的索引和范围查询分析
查看>>
软件开发工作模型
查看>>
20165301 2017-2018-2 《Java程序设计》第九周学习总结
查看>>
Java基础之字符串匹配大全
查看>>
SGA和PGA的分配原则及更改大小
查看>>
面向对象
查看>>
lintcode83- Single Number II- midium
查看>>
移动端 响应式、自适应、适配 实现方法分析(和其他基础知识拓展)
查看>>
selenium-窗口切换
查看>>
selenium-滚动
查看>>
read from and write to file
查看>>
使用vue的v-model自定义 checkbox组件
查看>>
Amcharts 柱状图和线形图
查看>>
APC注入
查看>>
关于ES6 Class语法相关总结
查看>>
文件处理
查看>>
[工具] Sublime Text 使用指南
查看>>
Hangfire在ASP.NET CORE中的简单实现方法
查看>>