这一篇文章介绍SpringBoot使用WebFlux响应式编程操作MongoDb数据库。
前言
在之前一篇简单介绍了WebFlux响应式编程的操作,我们在来看一下下图,可以看到,在目前的Spring WebFlux还没有支持类似Mysql这样的关系型数据库,所以本文以MongoDb数据库为例。
SpringBoot使用WebFlux响应式编程操作数据库
接下来介绍SpringBoot使用WebFlux响应式编程操作MongoDb数据库。
新建项目
pom文件
新建项目,在项目中加入webflux依赖和mongodb-reactive依赖,完整pom代码如下:
配置文件
配置文件中配置mongodb数据库信息,之前文章有介绍,这里就不介绍了,配置文件代码如下:
启动类
启动类是默认生成的,没有做任何修改,代码如下:
创建实体类
新建一个实体类UserInfo,代码内容没有什么特殊的,这里就不做介绍了,实体类完整代码如下:
数据操作层
新建一个UserRepository,因为是响应式编程所以这里继承ReactiveMongoRepository,代码如下:
handler层
新建一个UserHandler,其中分别创建了四个方法,分别是:
saveUser:新增方法,利用request.bodyToMono获取POST请求的body对象。
deleteUser:删除方法,利用request.pathVariable获取请求路径的对应参数ID。
getUser:获取对象方法,利用request.pathVariable获取请求路径的对应参数ID。
listUser:获取对象列表方法,这里没有参数。
完整代码如下:
配置路由
在路由中分别配置刚刚写的4个方法路由跳转,完整代码如下:
到这一步完成,项目已经构建完成。
运行测试
启动Mongodb
本文就不对如何安装以及启动MongoDb数据库进行介绍了,具体可以查看菜鸟教程,个人觉得这里已经介绍的很详细了,并且包含了各个系统的操作。
启动项目
运行刚刚的项目,这里以postman测试为例子,在postman内Post请求保存方法(http://localhost:8888/saveUser),如图:
然后在请求查询用户方法(http://localhost:8888/user/1),如图所示,证明刚刚已经保存成功,下方body处为返回数据:
我们在多次请求新增用户方法,将Id分别修改为2,3,4,5并执行保存方法,这里就不一一截图,然后方法查询用户列表方法(http://localhost:8888/listUser),如图所示:
最后调用删除用户方法(http://localhost:8888/deleteUser/1),这里以删除ID为1的用户为例,调用后在查看所有类别如图,用户ID为1的已经被删除了:
总结
SpringBoot使用WebFlux响应式编程操作Mongodb数据库这里已经简单整合完了,虽然和之前操作数据库有些不同,但是其实大致过程也都相似。
源码下载 :大老杨码云
领取专属 10元无门槛券
私享最新 技术干货