需求:哪一个字段不为空就插入那个字段,为空的不更新
ex:
<update id="update">
UPDATE tb1_emplyee
<set>
<if test="lastName!=null">
last_name=#{lastName},
</if>
<if test="email!=null">
email=#{email},
</if>
<if test="gender!=null">
gender=#{gender}
</if>
</set>
WHERE id=#{id}
</update>
测试类:
@Test
public void testDynamicSqlTest() throws IOException{
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
//1、获取到的SqlSession不会自动提交数据
SqlSession openSession = sqlSessionFactory.openSession();
try
{
EmployeeMapperDymanicSQL mapper=openSession.getMapper(EmployeeMapperDymanicSQL.class);
Employee employee=new Employee(1,"lili",null,"1");
/*List<Employee> emps=mapper.getEmpsByConditionChoose(employee);
for (Employee e:emps){
System.out.println(e);
}*/
mapper.update(employee);
openSession.commit();
}
finally {
openSession.close();
}
}