@Template 注解用法

小于 1 分钟 约 243 字

使用@Template注解和@Sql类似

# 使用方法

继续以 User 为例



 



public interface UserMapper extends BaseMapper<User> {

    @Template("select * from sys_user where id = #{id}")
    User queryUserById(Integer id);
}
1
2
3
4
5

注意占位符

@Sql占位符是 ?

@Template占位符是 #{}

在 UserMapper 中定义了queryUserById方法,并使用@Template提供一个 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=#{name} where id=#{id}")
    @Update
    int updateName(String name,Integer id);
}
1
2
3
4
5
6

提示

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

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


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

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