您的位置:首页 > 其它

myBatis批量添加,修改和删除

2016-06-12 13:34 417 查看

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

[plain] view
plain copy

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)

[plain] view
plain copy

实例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)

[plain] view
plain copy

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>  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: