求解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,一直更新不成功,也是头疼