本文涉及到的为MySQL和Redis
配置数据库信息
在这里插入代码片
spring:
r2dbc:
# r2dbc:driver[:protocol]}://[user:password@]host[:port]
url: ********
redis:
host: *******
port: *******
password: ********
注入组件
@Configurable
public class R2dbcConfig {
@Value("${spring.r2dbc.url}")
private String url;
@Bean
public R2dbcEntityTemplate reactiveMySQLTemplate() {
ConnectionFactory factory = ConnectionFactories.get(url);
return new R2dbcEntityTemplate(factory);
}
@Bean
public ReactiveStringRedisTemplate reactiveRedisTemplate(ReactiveRedisConnectionFactory factory) {
return new ReactiveStringRedisTemplate(factory);
}
}
该接口类似于MyBatis的BaseMapper接口,提供了基本的crud方法,还可以根据命名规则实现其他简单方法
Repository
@Repository
public interface UserRepository extends R2dbcRepository<User, Long> {
Flux<User> findByCollege(String college);
@Query("select * from user where age = :age")
Flux<User> findByAge(@Param("age") Integer age);
@Modifying
@Query("update user set age = :age where id = :id")
Mono<Void> updateAge(@Param("age") Integer age, @Param("id") Long id);
}
实体类
@Data
@Table("user")
public class User implements Serializable {
private static final long serialVersionUID = -5895912527692875136L;
@Id
private Long id;
private String name;
private Integer age;
private String college;
}
版权声明:本文为qq_36865778原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。