CoucHBase 虽然是mongoDB最有潜力的竞争对手,但是其在数据库方面的开源程度还远远不够,很多高级特性都没有开放出来。目前虽然被SpringBoot加持有了一些光环,但是其文档和代码注释方面做的仍然逊色不少,这与其开源程度有着很大
CoucHBase 虽然是mongoDB最有潜力的竞争对手,但是其在数据库方面的开源程度还远远不够,很多高级特性都没有开放出来。目前虽然被SpringBoot加持有了一些光环,但是其文档和代码注释方面做的仍然逊色不少,这与其开源程度有着很大的关系。开源这把双刃剑,在这里其利弊表现得真是淋漓尽致。
废话少说,接下来是springBoot2集成Couchbase的详细步骤,请仔细阅读,以免不小心入坑。
目前,本项目使用的是SpringBoot 2.3.x版本, Spring Data Couchbase 4.0版本,关于该版本的更新可以参考这里: https://my.oschina.net/crosschen/blog/4342796。 1) 加载依赖包
org.springframework.boot
spring-boot-starter-WEB
org.springframework.boot
spring-boot-starter-data-couchbase
2) 配置连接信息 application.yml
spring:
couchbase:
bucket-name: gate_way
bootstrap-hosts: 172.17.3.111
username: Administrator
passWord: zaq1xsw2
3) 动态加载数据库。 SpringBoot2并不会在配置Couchbase连接信息后自动加载该配置,目前需要通过配置类进行加载。CouchConfig.java
@Configuration
@EnableCouchbaseRepositories(basePackages = {"com.favccxx.gateway.repository"}, considerNestedRepositories = true)
public class CouchConfig extends AbstractCouchbaseConfiguration {
@Value("${spring.couchbase.bootstrap-hosts}")
private String host;
@Value("${spring.couchbase.username}")
private String userName;
@Value("${spring.couchbase.password}")
private String password;
@Value("${spring.couchbase.bucket-name}")
private String bucketName;
@Override
public String getConnectionString() {
return host;
}
@Override
public String getUserName() {
return userName;
}
@Override
public String getPassword() {
return password;
}
@Override
public String getBucketName() {
return bucketName;
}
@Override
protected boolean autoIndexCreation() {
return true;
}
@Override
public String typeKey() {
return MappinGCouchbaseConverter.TYPEKEY_DEFAULT;
}
}
4) 自定义Repository。 注意: Couchbase在序列化嵌套对象时,会在数据库中添加content的属性,因此在查询对应的字段时需要使用claxx.content 返回具体值。
@Repository
public interface MessageRouteRepo extends CouchbaseRepository {
List findByRouteName(String routeName);
@Query("SELECT META().id AS __id, META().cas AS __cas, fromRoute.content as fromRoute, routeName, status FROM gate_way")
public List findByRoutes(String routeName);
}
5) 集成完成。 目前,Couchbase方面的文档在网上并不多,而且很多文档都已经过时了。如果读者需要使用Couchbase作为数据库,建议参考官方的资料,以免不必要的入坑。 参考资料: Https://www.couchbase.com/ https://spring.io/projects/spring-data-couchbase
--结束END--
本文标题: SpringBoot2集成Couchbase
本文链接: https://lsjlt.com/news/7308.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0