在mybatis中,我们可以编写如下更新语句:
<update id="update" parameterType="com.test.User">
update USERS
<set>
<if test="user.name != null">NAME=#{user.name},</if>
<if test="user.age != null">AGE=#{user.age}</if>
</set>
</update>
然后,它要求User
类具有name
和age
属性的吸气剂,如果没有update语句,则映射可以在不添加任何吸气剂的情况下工作,有一种方法可以避免更新语句的获取者?
答案 0 :(得分:1)
如果使用最新版本3.5.1(change是在3.5.0中创建的),它应该可以工作。
如果由于某种原因而无法升级,则可以通过以下方法仍然可以使用:1)从方法参数中删除@Param("user")
,并2)如下直接引用这些字段。
<update id="update">
update USERS
<set>
<if test="name != null">NAME=#{name},</if>
<if test="age != null">AGE=#{age}</if>
</set>
</update>
仅当bean(即User
)是映射器方法的唯一参数时,直接属性引用才有效。