废话不多说了,直接步入正题了。
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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>
|
好了,本文到此结束,希望对大家有所帮助。