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>