MyBatis批量添加、修改和删除

前端技术 2023/09/01 Java

废话不多说了,直接步入正题了。

1、批量添加元素session.insert(String string,Object o)

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:

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

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.stayed.cn/item/2371

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。