mybatis 调用修改SQL时 出现了一个问题 没有修改成功也没有报错

简介: mybatis 调用修改SQL时 出现了一个问题 没有修改成功也没有报错


问题描述

今天遇到的这个问题到最后真的是怕我自己给气哭了,唉,大致如下:

这是controller层代码,前端传的值都有,但是去调用updateWechatBulkNotification时,修改失败,也不报错,通过查看控制台日志发现,返回受影响的行数为0

@PostMapping("/updateRemarks")
    public AjaxResult updateRemarks(@RequestBody String data) {
        JSONObject jsonObject = JSONObject.parseObject(data);
        String appkey = jsonObject.getString("appkey");
        List<WechatBulkNotification> list = jsonObject.getJSONArray("list").toList(WechatBulkNotification.class);
        LoginUser loginUser = SecurityUtils.getLoginUser();
        list.forEach(wechatBulkNotification -> {
            if(wechatBulkNotification.getwbnId()!=null){
                wechatBulkNotification.setId(wechatBulkNotification.getwbnId());
                wechatBulkNotification.setAppKey(appkey);
                wechatBulkNotification.setUpdateBy(loginUser.getUserId().toString());
                wechatBulkNotificationService.updateWechatBulkNotification(wechatBulkNotification);
            }
        });
        return AjaxResult.success();
    }

接着再来看下xml里面的代码

看着也没有问题,经过百般研究,最后问题出在了id,id不对导致的,我传的id在wechat_xxxx表里面查询不到,唉

<update id="updateWechatBulkNotification" parameterType="BulkNotif">
        update tification
        <trim prefix="SET" suffixOverrides=",">
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="nick != null">nick = #{nick},</if>
            <if test="wxid != null">id = #{wxid},</if>
            <if test="type != null">type = #{type},</if>
            <if test="intervalTime != null">interval_time = #{intervalTime},</if>
            <if test="appkey != null">key = #{appkey},</if>
            <if test="salespersonName != null">salesperson_name = #{salespersonName},</if>
            <if test="threeSegmentCode != null">three_segment_code = #{threeSegmentCode},</if>
            <if test="remark != null">remark = #{remark},</if>
        </trim>
        where id = #{id}
    </update>
目录
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
这样的SQL执行为什么不会报错?optimizer_trace深度历险
【10月更文挑战第12天】本文探讨了一条看似错误但实际上能成功执行的SQL语句,通过开启MySQL的优化器追踪功能,详细分析了SQL的执行过程,揭示了子查询被优化器解析为连接操作的原因,最终解释了为何该SQL不会报错。文章不仅增进了对SQL优化机制的理解,也展示了如何利用优化器追踪解决实际问题。
|
5月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
134 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
5月前
|
SQL 数据库
SQL解析相关报错
SQL解析相关报错
63 5
|
28天前
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
91 6
|
2月前
|
SQL XML Java
mybatis实现动态sql
MyBatis的动态SQL功能为开发人员提供了强大的工具来应对复杂的查询需求。通过使用 `<if>`、`<choose>`、`<foreach>`等标签,可以根据不同的条件动态生成SQL语句,从而提高代码的灵活性和可维护性。本文详细介绍了动态SQL的基本用法和实际应用示例,希望对您在实际项目中使用MyBatis有所帮助。
102 11
|
3月前
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
4月前
|
SQL 关系型数据库 MySQL
|
3月前
|
SQL Java 数据库连接
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
|
4月前
|
SQL Java 数据库连接
mybatis使用四:dao接口参数与mapper 接口中SQL的对应和对应方式的总结,MyBatis的parameterType传入参数类型
这篇文章是关于MyBatis中DAO接口参数与Mapper接口中SQL的对应关系,以及如何使用parameterType传入参数类型的详细总结。
86 10
|
5月前
|
SQL XML Java
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法