mapper 层 @Param("id")注解 的作用
时间: 2023-07-21 16:35:49 浏览: 122
Mybatis使用@param注解四种情况解析
在Mybatis中,@Param("id")注解的作用是给方法参数起一个别名,使得SQL语句可以通过该别名来引用对应的方法参数。这样可以避免使用默认的参数名称arg0、arg1等,增强了SQL语句的可读性和可维护性。
例如,假设我们有一个方法,用于根据id查询用户信息:
```
public User getUserById(int id);
```
对应的SQL语句可能如下:
```
SELECT * FROM user WHERE id = #{id}
```
在这个SQL语句中,#{id}表示使用方法的参数id来替换。但是,如果方法有多个参数,Mybatis默认使用arg0、arg1等参数名称来引用这些参数,这样会导致SQL语句难以理解和维护。
因此,我们可以使用@Param("id")注解来给参数起一个别名,例如:
```
public User getUserById(@Param("id") int id);
```
对应的SQL语句仍然是:
```
SELECT * FROM user WHERE id = #{id}
```
但是,#{id}现在表示使用@Param("id")注解指定的方法参数id来替换。这样,我们就可以清晰地知道SQL语句中用到了哪些方法参数,而不需要猜测或查看方法定义。
阅读全文