DEFT1998 2020-05-10 23:36 采纳率: 100%
浏览 1315
已采纳

Spring boot+mybatis项目新增删除查询都没有问题,但是更新时没有错误数据库里面的数据为什么没有修改?

Controller

@PostMapping(value = "/edit")
    @ResponseBody
    @PreAuthorize("hasAuthority('sys:contract:edit')")
    @ApiOperation(value = "编辑合同信息", notes = "保存修改的合同信息")//描述
    public Results<SysContract> updateContract(ContractDto contractDto) {
        SysContract sysContract = null;
        sysContract = contractService.getContract(contractDto.getName());
        if (sysContract != null && !(sysContract.getId().equals(contractDto.getId()))) {
            return Results.failure(ResponseCode.CONTRACT_REPEAT.getCode(), ResponseCode.CONTRACT_REPEAT.getMessage());
        }
        return contractService.updateContract(contractDto);
    }

Service

@Override
    public Results updateContract(ContractDto contractDto) {
        contractDao.updateContract(contractDto);
        log.info("service已经更新"+contractDto.getName());
        return Results.success();
    }

Dao

int updateContract(SysContract contract);

Dao对应的xml

<mapper namespace="com.sxbang.friday.dao.ContractDao">

    <update id="updateContract" parameterType="com.sxbang.friday.model.SysContract">
        update sys_contract t
        <set>
            <if test="name != null">
                name = #{name},
            </if>
            <if test="startDate != null">
                startDate = #{startDate},
            </if>
            <if test="expireDate != null">
                expireDate = #{expireDate},
            </if>
            <if test="contractUrl != null">
                contractUrl = #{contractUrl},
            </if>
            updateTime = #{updateTime}
        </set>
        where t.id = #{id}
    </update>

</mapper>

service获取到的数据已经是修改过的了,为什么数据库还是没更新呢?我前两个用户和顾客资料的更新也是这样写的,几乎一样的为什么这个就更新不了呢?有没有大佬能解答一下...

  • 写回答

3条回答 默认 最新

  • zyydomain 2020-05-11 10:16
    关注

    看你的sql是根据id更新的,ContractDto 看下这个实体里id有没有值,如果是null的话找不到就不会更新了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名