Mybatis中updateByPrimaryKeySelective和updateByPrimaryKey
·
在mybatis中常常用到这2中方法。根据实体类主键进行跟新,并返回1或者0.
- int updateByPrimaryKeySelective(TbItem record);
- int updateByPrimaryKey(TbItem record);
(1)更新语句上的差异:
因此:
updateByPrimaryKeySelective会对字段进行判断再更新(如果为Null就忽略更新),如果你只想更新某一字段,可以用这个方法。
updateByPrimaryKey对你注入的字段全部更新,将为空的字段在数据库中置为NULL。
(2)返回值int,代表的是什么。
验证返回值:由于是根据主键进行更新(数据库只存在一个主键)所以返回值为1或者0,1表示修改成功(即使不做任何修改返回值也为1),0表示更新失败。
前台不做任何修改打印返回值,得到结果
数据库做更新操作,更新值=原值,打印结果如下:
总结:说明数据库并不会判断更新前后的值是否相等,若执行成功就返回受影响的行数。
更多推荐
已为社区贡献1条内容
所有评论(0)