mybatis update返回值你知道吗

mybatis update返回值

之前一直觉得update的返回值 是受影响的条数,但是如果我什么数据都没修改update 返回的是什么呢
下面我在代码里这样判断

                    int i = dataService.update(data);
                    if(i > 0) {
                        System.out.println("修改成功");
                    } else {
                    System.out.println("修改失败");
                    }

你觉得它会输出什么呢。
结果是修改成功。为什么呢?按理说数据没改修,那么受影响的条数为0,那应该是输出修改失败的。原来是因为update 的返回值是matched的条数,也就是表中匹配where语句的条数,并不是受影响条数,不然输出结果就是修改失败
如果我们要让update 操作的返回值是受影响的行数呢
修改数据库链接配置:增加了 useAffectedRows 字段信息。

jdbc.url=jdbc:mysql://localhost:3306/test?useAffectedRows=true

再重启,如果数据无修改,那打印的结果就是修改失败


版权声明:本文为qq_40011778原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。