Mybatis中updateByPrimaryKeySelective和updateByPrimaryKey区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35932345/article/details/55096548
	int updateByPrimaryKeySelective(TbItem record);
	int updateByPrimaryKey(TbItem record);

上面的是逆转工程生成的Mapper接口

对应的xml为

<update id="updateByPrimaryKeySelective" parameterType="com.taotao.pojo.TbItem">
update tb_item
<set>
<if test="title != null">
title = #{title,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.taotao.pojo.TbItem">
update tb_item
set title = #{title,jdbcType=VARCHAR},
where id = #{id,jdbcType=BIGINT}
</update>

区别在于如下两点:

1、updateByPrimaryKeySelective会对字段进行判断再更新(如果为Null就忽略更新),如果你只想更新某一字段,可以用这个方法。

2、updateByPrimaryKey对你注入的字段全部更新

展开阅读全文

没有更多推荐了,返回首页