大博主 2017-10-16 07:16 采纳率: 38.9%
浏览 4718
已采纳

比如修改状态,前台可以显示修该状态成功,但是数据库没有更新,

前台修改数据不能同步到数据库,前台有效果,但是刷新一次也页面就又是原来的了,单元测试可以通过

  • 写回答

13条回答 默认 最新

  • Tsui丶 2017-10-16 07:28
    关注

    持久层用的是什么技术 sql是否需要提交 commit操作 单元测试通过 你的数据库是否有修改? 配置文件中 把show_sql设置为true 看控制台是否有打印sql 有才进行了数据库操作 没有就没进行 然后看式什么sql 有没调用错方法

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 我叫小白啊 2017-10-16 07:25
    关注

    应该是你的数据没有传到后台吧,或者你可以在你的后台代码相应的位置打个断点 测试一下你的数据是否成功传到后台并执行操作

    评论
  • 大博主 2017-10-16 07:34
    关注

    用的是tars这个框架,腾讯今年开源的,打不了断点,,,或者是我目前不会,但是我走的单元测试又可以实现,单元测试数据有修改成功

    评论
  • IOS-8859-1 2017-10-16 07:37
    关注

    传值不匹配吧!检查字段名!

    评论
  • 大博主 2017-10-16 07:43
    关注

    @Test
    public void updateGoodsIsStops() {
    UpdateGoodsIsStopsReq request = new UpdateGoodsIsStopsReq();
    request.session = new UserSession("a", "b");
    Holder response = new Holder();
    HashMap context = new HashMap();
    List ids = new ArrayList<>();
    ids.add(1);
    ids.add(2);
    ids.add(3);
    request.ids = ids;
    request.isStop = 1;
    int ret = proxy.updateGoodsIsStops(request, response, context);
    Assert.assertEquals(0, ret);
    Assert.assertTrue(response.value.errorCode > 0);
    }

    update dt_ec.goods set is_stop =#{isStop} where goods_id in
    open="(" separator="," close=")">
    #{item}


    我现在要做的是一个批量修改功能,代码就知是这样的了

    评论
  • 大博主 2017-10-16 07:45
    关注
      <update id="updateGoodsIsStops" parameterType="java.util.List">
            update dt_ec.goods set is_stop =#{isStop} where goods_id in
            <foreach collection="ids" item="item" index="index"
                open="(" separator="," close=")">
                #{item}
            </foreach>
        </update>
    
    评论
  • 烈火之阳 2017-10-16 08:04
    关注

    页面有时候会有缓存,当你修改之后可以看到修改成功,但是你的数据并没有入库!
    如果你用junit测试修改数据没问题,那就是你的数据交互层也就是WEB层出的问题,可能是后台没有接受到数据

    评论
  • 安小菜 2017-10-16 08:15
    关注


    update dt_ec.goods set is_stop =#{isStop} where goods_id in
    open="(" separator="," close=")">
    #{item}

        看一下你的isStop是否有值传过来
    
    评论
  • vrl 2017-10-16 08:22
    关注

    可能性1:值没有从前台传到后台;
    2:后台对参数的处理、传递等出错;
    3:对数据库进行修改失败

    评论
  • 黄河默默 2017-10-16 08:47
    关注

    不管你怎么做,要做到数据库更新完毕后,才能返回一个结果,完成一个事务。不要想当然的做,不可取。

    评论
  • longlong3207 2017-10-16 08:58
    关注

    单元测试以后数据库中有没有改变?,
    你是用的ajax访问这个方法吗?
    用火狐访问你的项目,f12 点击网络点击你访问的路径,点击参数,截图一下

    评论
  • 大博主 2017-10-16 09:24
    关注

    ![![图片说明](https://img-ask.csdn.net/upload/201710/16/1508145863_554587.png)图片说明](https://img-ask.csdn.net/upload/201710/16/1508145855_243828.png)图片说明

    评论
  • 大博主 2017-10-16 14:51
    关注

    感谢大家的回答,虽然现在问题还没解决,有点方向了,应该是批量传值类型那里可能有问题,

    评论
查看更多回答(12条)

报告相同问题?

悬赏问题

  • ¥15 matlab+波形匹配算法
  • ¥15 转录组分析做聚类树图时癌旁组被分到了癌组
  • ¥15 大一Python字典
  • ¥15 multisim电路设计(相关搜索:设计报告)
  • ¥15 PC-lint Plus
  • ¥15 gpl24676注释
  • ¥15 php5.3内存泄露
  • ¥15 DigSilent如何复制复合模型到自己案例?
  • ¥15 求日版华为b610s-77a 官方公版固件,有偿
  • ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)