最近项目有需要用到RethinkDB,故而在网上查询些资料,本文主要借鉴https://geowarin.github.io/spring-boot-and-rethinkdb.html 通过搭建一个聊天应用程序来学习RethinkDB.
RethinkDB 是什么?官网上的介绍是:RethinkDB is the open-source, scalable database that makes building realtime apps dramatically easier.
一、搭建rethinDB服务端
1、访问RethinkDB官网下载服务端:https://www.rethinkdb.com/docs/install/windows/ 我是在win7环境下搭建的,所以我下载的是windows版本的,如果各位是其他版本的,也可以在https://www.rethinkdb.com/docs/install/ 里面选择对应服务器的版本。
2、启动服务端:将下载好的rethinkdb-2.3.6.zip 解压后,双击rethinkdb.exe 及运行rethinkDB服务端了,默认相关数据是存储在当前目录的,文件名是rethinkdb_data。如果需要保存至指定目录是,需要用命令行执行如:C:\Users\Administrator\Desktop\rethinkdb-2.3.6>rethinkdb.exe -d f:\rethinkDB\data 前提是那个文件夹是存在的。 运行完毕以后,出现Server ready, 即代表服务启动完毕。打开浏览器:localhost:8080 看到如下dashboard 说明启动成功了
二、编写SpringBoot工程
1、增加maven依赖 主要包含springboot依赖包、org.webjars依赖包、以及RethinkDB的客户端依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
<version>1.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>1.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>1.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.0.0-alpha1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>sockjs-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>stomp-websocket</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>momentjs</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>com.rethinkdb</groupId>
<artifactId>rethinkdb-driver</artifactId>
<version>2.3.3</version>
</dependency>
2、RethinkDB每个动作都是需要一个connection,所以先见一个工厂
public class RethinkDBConnectionFactory {
private Str