updateByPrimaryKeySelective返回值是什么

求解updateByPrimaryKeySelective返回值是什么,还有updateByPrimaryKey的

在abator中可生成iBatis的代码。其中,Sql_map中带有的两个函数是:

updateByPrimaryKeySelective

updateByPrimaryKey

前者只是更新新的model中不为空的字段。

后者则会将为空的字段在数据库中置为NULL。

https://blog.csdn.net/samurais/article/details/6830564

你修改数据库,应该是返回受影响行吧,>0说明操作成功!反之亦然。

1或者0,如果为1表说明修改成功,0表示修改失败。

updateByPrimaryKeySelective 返回更新的行数 用int类型变量接收 .
如果返回0表示一条都没有更新,返回2表示更新了2行 返回多少就是更新了多少行数据
,该方法底层返回如下
int updateByPrimaryKeySelective(TbItem record); 传入更改的数据记录行返回行数,返回类型为int


update tb_item


title = #{title,jdbcType=VARCHAR},


where id = #{id,jdbcType=BIGINT}

使用的mapper xml 文件里映射了update 语句 ,数据库对update的返回结果只有受影响行数,因为指定了主键.
因为还有where 条件,正常情况下返回0,表示更新了0行,返回1表示更新了一行.极端情况下不排除数据表建的有问题主键id出现重复返回返回行数>1

updateByExample(String,Object)根据条件更新。
updateByPrimaryKeySelective根据主键更新

我的sql语句打印是正确的 update delivery_fare SET start_fare = ?, start_mile = ?, night_period_end = ?, update_time = ? where id = ? 也是更新结果为0,一直更新不成功,也是头疼