1.介绍
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
2、入门使用
(1)引入相关依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
(2)添加相关配置文件
#mongodb相关配置 spring data: mongodb: host: ip port: 27017 authentication-database: admin//为存储用户的数据库 database: springboot username: username password: password
(3)文档对象如下
package com.example.entity; import javax.xml.stream.events.Comment; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author admin * @date 2018/11/4 */ public class Baike { private String id; private String desc; private List<String> tag = new ArrayList<>(); private Comment comment; private Date createDate; private Date updateDate; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } public List<String> getTag() { return tag; } public void setTag(List<String> tag) { this.tag = tag; } public Comment getComment() { return comment; } public void setComment(Comment comment) { this.comment = comment; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public Date getUpdateDate() { return updateDate; } public void setUpdateDate(Date updateDate) { this.updateDate = updateDate; } }
(4)使用MongoTemplate
package com.example.controller; import com.example.entity.Baike; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; /** * @author admin * @date 2018/11/4 */ @RestController public class BaikeController { @Autowired MongoTemplate mongoTemplate; //增加 @PostMapping("/addBaike") public Baike addDict(Baike baike) { baike.setCreateDate(new Date()); mongoTemplate.insert(baike); return baike; } //根据主键查询 @GetMapping(value = "/baike/{name}") public Baike findUser(@PathVariable String name) { Baike dict = mongoTemplate.findById(name, Baike.class); return dict; } }