SpringBoot学习整理

157 阅读2分钟

MongoDB简介

MongoDB是文档型数据库,一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。

  • 笔者是在VirtualBox的CentOS系统用Docker安装MongoDB,如何用docker安装MongoDB具体可以看这篇文章
# 获取最新镜像
docker pull mongo:latest
docker run -itd --name mongo -p 27017:27017 mongo --auth # 运行容器,-itd参数是让docker启动后能一直运行,如果不加,则在容器启动后执行完就立刻退出了
docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
db.auth('admin', '123456')

之后本地连接远程的MongoDB服务,然而可能连接不上去

docker exec -it bash # 进入docker容器 需要做如下配置改动:将bindIp注释掉 由于需要修改配置文件,而docker容器当中没有安装编辑软件vi/vim所以使用替换文件的方法进行修改:

# 将容器中的文件复制到本地目录中
docker cp <container>:/etc/mongod.conf.orig .
# 在本地中修改文件,并用修改后的文件替换容器中的文件
docker cp ./mongod.conf.orig <container>:/etc/mongod.conf.orig

之后就可以通过本地连接到MongoDB了,笔者在IDEA中安装插件进行连接

在SpringBoot中整合MongoDB

  • 创建好SpringBoot项目后引入相关依赖
<!--引入MongoDB依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
  • 相关的配置
spring:
  data:
    mongodb:
      host: 192.168.43.57 #这是笔者虚拟机CentOS的ip地址
      port: 27017
      database: admin
      username: admin
      password: '123456'
      authentication-database: admin
1、创建实体类与数据库集合映射
@Document(collection = "user")
2、创建DAO接口对数据进行操作
@Repository
extends MongoRepository<User, String>
3、根据接口提供的操作方法进行数据的增删改操作

最后,测试结果如下: