废话不多说了,直接步入正题了。
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> |
好了,本文到此结束,希望对大家有所帮助。