@Sql 注解用法

小于 1 分钟 约 229 字

使用@Sql注解提供一个 Sql 语句

# 使用方法

我们继续以 User 为例



 




public interface UserMapper extends BaseMapper<User> {

    @Sql("select * from sys_user where id = ?")
    User queryUserById(Integer id);
}

1
2
3
4
5
6

在 UserMapper 中定义了queryUserById方法,并使用@Sql提供一个 Sql 语句 那么我们可以在注入 UserMapper 后调用此方法

@Autowired
UserMapper userMapper;
    
@RequestMapping("test")
public String test() {
    User user = userMapper.queryUserById(100);
}
1
2
3
4
5
6
7

定义更新方法



 
 



public interface UserMapper extends BaseMapper<User> {

    @Sql("update sys_user set name=? where id = ?")
    @Update
    int updateName(String name,Integer id);
}
1
2
3
4
5
6

提示

不同于 2.x 版本回自动推测类型,3.x 版本需要显示的使用@Update注解表明是一个更新或删除类的 sql,@BatchUpdate注解表明是一个批量更新 sql

使用@Select注解表明是一个查询 Sql(默认行为,所以可省略)


@Sql注解的方法参数返回值取决于于 sql 查询结果,不限定于 Mapper 定义的泛型,可以是任意 POJO

上次编辑于: 2022年11月25日 13:03
贡献者: orange