MyBatis 中使用 @Param 注解传递参数的最佳实践
在 MyBatis 中使用 @Param 注解传递参数时,需要确保 SQL 语句中使用与注解中指定的相同参数名。
例如,以下代码展示了如何使用 @Param 注解传递参数并删除用户:
// 通用查询映射结果
<resultMap id="BaseResultMap" type="com.nz.entity.user">
<id column="user_id" property="id" />
<result column="user_email" property="email" />
<result column="user_name" property="nickName" />
<result column="user_status" property="userState" />
<result column="user_permissions" property="user_permissions" />
<result column="create_time" property="createDate" />
</resultMap>
<delete id="deleteUserById" parameterType="int">
DELETE FROM user WHERE id = #{id}
</delete>
// 删除
public int deleteUserById(@Param("user_id") int user_id);
在参数上使用了@Param 注解,因此在 SQL 语句中应该使用 @Param 注解中指定的参数名 user_id。因此,参数应该写成:
public int deleteUserById(@Param("user_id") int user_id);
总结
在使用 @Param 注解传递参数时,需要在 SQL 语句中使用相同的参数名。这可以确保 MyBatis 正确地将参数传递给 SQL 语句,并避免出现错误。
原文地址: https://www.cveoy.top/t/topic/mUPY 著作权归作者所有。请勿转载和采集!