MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

二、MongoDB的安装和配置

1.下载安装包

访问这个地址下载对应的安装包https://www.mongodb.com/download-center#community

以window版本为例,双击mongodb-win32-x86_64-3.4.15-signed.exe文件,除了路径改为其他盘符外其他默认就可以了,然后电脑里会多个mongodb的目录。

SpringBoot使用MongoDB

以管理员的身份运行cmd,进入对应的bin目录,输入命令

mongod --dbpath D:\data\db --logpath D:\log\mongodb.log --logappend --install --serviceName "MongoDB"

前提是你的电脑存在D:\data\db和D:\log,如果没有就自己先创建一个。先启动服务MongoDB再双击mongo.exe。如图则表示安装成功。

SpringBoot使用MongoDB

其他系统的安装步骤和使用可以参考菜鸟教程

三、整合SpringBoot

1.用idea新建项目时勾选mongodb就可以了,对应的pom是

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

2.在application.properties文件中添加配置:

spring.data.mongodb.uri=mongodb://127.0.0.1:27017/test?maxPoolSize=256

总的格式是:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

这里因为没有开启安全认证(整了好久都没弄好。。),所以不需要输入用户名和密码。

3.代码编写,我们直接使用框架提供的mongoTemplate就可以了,但如果是spring框架的话还需要在xml文件中进行一些配置。

SpringBoot使用MongoDB

Person实体类

 1 package cn.sp.bean;
 2 
 3 import lombok.Data;
 4 import org.springframework.data.annotation.Id;
 5 import org.springframework.data.mongodb.core.mapping.Document;
 6 import org.springframework.data.mongodb.core.mapping.Field;
 7 
 8 import java.io.Serializable;
 9 import java.util.Date;
10 
11 /**
12  * @author ship
13  * @Description
14  * @Date: 2018-07-04 14:15
15  */
16 //@Data  lombok虽然好用但隐藏了好多坑啊,@RequestBody注解获取不到pId的值
17 @Document(collection = "personInfo")
18 public class Person implements Serializable{
19     @Id
20     @Field("p_id")
21     private int pId;
22     private String name;
23     private int  age;
24     private Date  birthday;
25 
26     public int getpId() {
27         return pId;
28     }
29 
30     public void setpId(int pId) {
31         this.pId = pId;
32     }
33 
34     public String getName() {
35         return name;
36     }
37 
38     public void setName(String name) {
39         this.name = name;
40     }
41 
42     public int getAge() {
43         return age;
44     }
45 
46     public void setAge(int age) {
47         this.age = age;
48     }
49 
50     public Date getBirthday() {
51         return birthday;
52     }
53 
54     public void setBirthday(Date birthday) {
55         this.birthday = birthday;
56     }
57 }
View Code

相关文章:

  • 2021-04-07
  • 2021-07-31
  • 2022-01-06
  • 2022-12-23
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
  • 2021-06-13
猜你喜欢
  • 2021-05-18
  • 2022-12-23
  • 2022-01-29
  • 2021-08-08
  • 2021-06-25
  • 2022-12-23
相关资源
相似解决方案