动态SQL 动态更新 set

Set优化更新: 会成功拼接条件,最后一个”,”号会被去掉。

分析:
所有字段修改:
update t_blog set title=#{titile},tname=#{tname} where id=#{id}
如果只需要修改title:[逗号问题]
update t_blog set title=#{titile}, where id=#{id}

使用 set标签解决逗号问题
update t_blog

title = #{title},

where id=#{id}
只是把传统set换为标签就可以了,配合标签判断。

映射文件代码如下所示:

UPDATE t_user_info


u_name=#{uName},


u_pass=#{uPass}


WHERE
u_id=#{uId}

映射文件对应接口里面的方法如下所示:
int updateMyUserInfo(UserInfo userInfo);

测试方法如下所示:

@Test
public void testUpdateMyUserInfo(){
SqlSession sqlSession = SqlSessionFactoryUtilSingleL.getSqlSession();
UserInfoMapper mapper = sqlSession.getMapper(UserInfoMapper.class);
UserInfo user=new UserInfo();
user.setuName("张颖豪");
user.setuPass("张颖豪");
user.setuId(12l);
mapper.updateMyUserInfo(user);
sqlSession.commit();
sqlSession.close();
}

这里面我们在映射文件里面输入参数是 实体类 换成 Map 集合也可以完成。

你可能感兴趣的:(动态SQL 动态更新 set)