mybatis:foreach标签、set标签

以下知识来源说明:http://www.java1234.com/

set标签
1、自动加上 set
2、自动剔除最后一个逗号","

mapping

<select id="searchStudents5" parameterType="Map" resultMap="StudentResult">
    select * from t_student 
     <if test="gradeIds!=null">
        <where>
            gradeId in 
            <foreach item="gradeId" collection="gradeIds" open="(" separator="," close=")">
             #{gradeId}
            </foreach>
        </where>
     </if>
</select>

<update id="updateStudent" parameterType="Student">
    update t_student
    <set>
     <if test="name!=null">
        name=#{name},
     </if>
     <if test="age!=null">
        age=#{age},
     </if>
    </set>
    where id=#{id}
</update>

调用测试

@Test
public void testSearchStudents5() {
    logger.info("添加学生(带条件)");
    Map<String,Object> map=new HashMap<String,Object>();
    List<Integer> gradeIds=new ArrayList<Integer>();
    // gradeIds.add(1);
    gradeIds.add(2);
    map.put("gradeIds", gradeIds);
    List<Student> studentList=studentMapper.searchStudents5(map);
    for(Student student:studentList){
        System.out.println(student);
    }
}

@Test
public void testUpdateStudent(){
    logger.info("更新学生(带条件)");
    Student student=new Student();
    student.setId(1);
    student.setName("张三3");
    student.setAge(13);
    studentMapper.updateStudent(student);
    sqlSession.commit();
}

猜你喜欢

转载自blog.csdn.net/m0_38084243/article/details/82380326