美文网首页
动态SQL 动态更新 set

动态SQL 动态更新 set

作者: 神豪VS勇士赢 | 来源:发表于2018-07-29 11:22 被阅读6次

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
<set>
<if test="title != null"> title = #{title}, </if>
</set>
where id=#{id}
只是把传统set换为<set>标签就可以了,配合<if>标签判断。

映射文件代码如下所示:
<update id="updateMyUserInfo" parameterType="java.util.Map" >
UPDATE t_user_info
<set>
<if test="uName !=null">
u_name=#{uName},
</if>
<if test="uPass !=null">
u_pass=#{uPass}
</if>
</set>
WHERE
u_id=#{uId}
</update>

映射文件对应接口里面的方法如下所示:
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

    Set优化更新: 会成功拼接条件,最后一个”,”号会被去掉。 分析:所有字段修改:update t_blog se...

  • 动态sql-set-与if结合的动态更新

    1. 添加方法 2. 测试结果

  • Mybatis动态SQL

    mybatis 动态sql if choose(when、otherwise) trim(where、set) f...

  • 04动态sql

    学习以下动态sql语句 if(多条件动态拼接)2)where(解决where and/or情况)3)set(解决u...

  • MyBatis学习:动态sql

    1.动态sql 动态sql是mybatis中的一个核心,什么是动态sql?动态sql即对sql语句进行灵活操作,通...

  • 第八章 动态SQL

    动态SQL中的元素介绍 动态SQL有什么作用 MyBatis提供了对SQL语句动态组装的功能 动态SQL中的元素 ...

  • MySQL动态SQL使用set执行更新操作

    当在 update 语句中使用if标签时,如果前面的if没有执行,则或导致逗号多余错误。使用set标签可以将动态的...

  • 第十三章 使用动态SQL(一)

    第十三章 使用动态SQL(一) 动态SQL简介 动态SQL是指在运行时准备并执行的SQL语句。在动态SQL中,准备...

  • 关于Mybatis的一些问题讨论

    Mybatis动态sql是做什么的?都有哪些动态sql?简述一下动态sql的执行原理 动态sql的用途 Mybat...

  • MyBatis5-动态 SQL

    动态 SQL 什么是动态 SQL 就是动态的对 SQL 进行组装 拼接. : 可以自动去...

网友评论

      本文标题:动态SQL 动态更新 set

      本文链接:https://www.haomeiwen.com/subject/hhezmftx.html