MyBatis批量添加、修改和删除
废话不多说了,直接步入正题了。
1、批量添加元素session.insert(Stringstring,Objecto)
publicvoidbatchInsertStudent(){
List<Student>ls=newArrayList<Student>();
for(inti=5;i<8;i++){
Studentstudent=newStudent();
student.setId(i);
student.setName("maoyuanjun"+i);
student.setSex("man"+i);
student.setTel("tel"+i);
student.setAddress("浙江省"+i);
ls.add(student);
}
SqlSessionsession=SessionFactoryUtil.getSqlSessionFactory().openSession();
session.insert("mybatisdemo.domain.Student.batchInsertStudent",ls);
session.commit();
session.close();
}
<insertid="batchInsertStudent"parameterType="java.util.List">
INSERTINTOSTUDENT(id,name,sex,tel,address)
VALUES
<foreachcollection="list"item="item"index="index"separator=",">
(#{item.id},#{item.name},#{item.sex},#{item.tel},#{item.address})
</foreach>
</insert>
2、批量修改session.insert(Stringstring,Objecto)
实例1:
publicvoidbatchUpdateStudent(){
List<Integer>ls=newArrayList<Integer>();
for(inti=2;i<8;i++){
ls.add(i);
}
SqlSessionsession=SessionFactoryUtil.getSqlSessionFactory().openSession();
session.insert("mybatisdemo.domain.Student.batchUpdateStudent",ls);
session.commit();
session.close();
}
<updateid="batchUpdateStudent"parameterType="java.util.List">
UPDATESTUDENTSETname="5566"WHEREidIN
<foreachcollection="list"item="item"index="index"open="("separator=","close=")">
#{item}
</foreach>
</update>
实例2:
publicvoidbatchUpdateStudentWithMap(){
List<Integer>ls=newArrayList<Integer>();
for(inti=2;i<8;i++){
ls.add(i);
}
Map<String,Object>map=newHashMap<String,Object>();
map.put("idList",ls);
map.put("name","mmao789");
SqlSessionsession=SessionFactoryUtil.getSqlSessionFactory().openSession();
session.insert("mybatisdemo.domain.Student.batchUpdateStudentWithMap",map);
session.commit();
session.close();
}
<updateid="batchUpdateStudentWithMap"parameterType="java.util.Map">
UPDATESTUDENTSETname=#{name}WHEREidIN
<foreachcollection="idList"index="index"item="item"open="("separator=","close=")">
#{item}
</foreach>
</update>
3、批量删除session.delete(Stringstring,Objecto)
publicvoidbatchDeleteStudent(){
List<Integer>ls=newArrayList<Integer>();
for(inti=4;i<8;i++){
ls.add(i);
}
SqlSessionsession=SessionFactoryUtil.getSqlSessionFactory().openSession();
session.delete("mybatisdemo.domain.Student.batchDeleteStudent",ls);
session.commit();
session.close();
}
<deleteid="batchDeleteStudent"parameterType="java.util.List">
DELETEFROMSTUDENTWHEREidIN
<foreachcollection="list"index="index"item="item"open="("separator=","close=")">
#{item}
</foreach>
</delete>
好了,本文到此结束,希望对大家有所帮助。