1、作用
代替set关键字以及
根据传入参数情况自动去除多余的,号。
2、需求
更新用户生日和性别
更新用户生日
3、示例
测试
@Test
public void testSet(){
SqlSession sqlSession = SqlSessionKit.openSession(true);
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
// 更新内容
User user = new User();
user.setId(1);
user.setBirthday(new Date());
// user.setSex("2");
mapper.update(user);
}
操作
/*** 更新用户. ** @param user 用户信息 */
void update(User user);
配置
<update id="update" parameterType="com.itheima.mybatis.day03.sql.model.User">
update user
<set>
<if test="birthday!=null">
birthday=#{birthday},
</if>
<if test="sex!=null and sex!=''">
sex=#{sex},
</if>
</set>
where id = #{id}
</update>
结果
DEBUG [main] - Created connection 173738886. DEBUG [main] - ==> Preparing: update user SET
birthday=? where id = ? DEBUG [main] - ==> Parameters: 2019-04-16 17:48:09.417(Timestamp),
1(Integer) DEBUG [main] - <== Updates: 1
4、注意
set标签无论外部有没有set关键字都会为最终sql添加set