@Param 注解的作用

2024-08-05 10:20:16 浏览数 (2)

在 Java 开发中,尤其是使用 MyBatis 框架时,@Param 注解是一个非常常见和重要的注解。它主要用于在 Mapper 接口的方法中传递参数,并且在 SQL 映射文件中可以引用这些参数。

一、@Param 注解的作用

@Param 注解主要有以下几个作用:

  1. 为方法参数命名:在 Mapper 接口的方法中,给参数命名,使其在 SQL 映射文件中可以通过该名字引用。
  2. 解决参数名称冲突:当方法有多个参数时,使用 @Param 注解可以避免参数名冲突。

二、@Param 注解的基本用法

1. 单个参数

当方法只有一个参数时,可以直接使用 @Param 注解为参数命名。

在上述示例中,@Param("id") 为方法参数 id 命名,使其在 SQL 中可以通过 #{id} 引用。

2. 多个参数

当方法有多个参数时,可以使用 @Param 注解为每个参数命名,避免名称冲突。

在这个示例中,我们有两个参数 idname,通过 @Param 注解为每个参数命名,使其在 SQL 中可以分别通过 #{id}#{name} 引用。

三、@Param 注解的高级用法

1. 使用对象作为参数

当方法参数是一个对象时,可以直接使用对象的属性,而无需 @Param 注解。

在此示例中,方法参数是一个 User 对象,我们通过 @Param("user") 注解为其命名,在 SQL 中可以通过 #{user.id}#{user.name} 引用对象的属性。

2. 传递集合类型参数

当需要传递集合类型参数时,可以使用 @Param 注解为集合命名,并在 SQL 中引用。

在这个示例中,我们使用了一个 List<Integer> 类型的参数 ids,通过 @Param("ids") 为其命名,并在 SQL 中通过 foreach 标签遍历集合,生成 IN 查询

0 人点赞