前言:
由于想做一个问卷调查系统,所以想起了非关系型数据库Mongodb,毕竟要是用Mysql去存储一张问卷调查单的内容,得拆分成好几张表,但是对于Mongodb就会容易很多,因为它是一个面向集合的,模式自由的文档型数据库。它不像关系型数据库Mysql一样需要定义表的结构和数据类型,它是schema-free(模式自由的),比如我在一个集合(Collection类似mysql里Table的概念)里可以不断增加字段,而不用我们去执行alert 语句去修改表结构。
{"name":"阿达"}
{"name":"张三","age":"18"}
今天带着大家初步认识和使用Mongodb!
正文:
一、Windows 平台安装 MongoDB
1.去官网下载安装包,官网下载地址传送门https://www.mongodb.com/try/download/community,这里补充个小知识
msi为安装版本,安装过程中自动配置
zip为压缩版本,安装过程中自动配置
2.然后点击安装程序mongodb-win32-x86_64-2012plus-4.2.3-signed.msi开始安装即可
3.我这里选择的是自定义安装
4.修改你想把软件安装的目录下
5.选择如下图的配置
6.出现下图的界面时,建议取消Install Mongodb Compass(Mongodb的数据罗盘,就是可视化工具的意思),因为勾选后可能导致一直下载不下来,然后导致一直无法完成安装。
7.出现下图的弹框时,先打开mongodb\bin下的配置文件mongod.cfg,把最后一行删了
然后再点击retry即可,不要问我为什么,问就是不知道,反正这样就可以解决啦。
8.到这里就安装完了,这时候就可以操作,mongodb数据库了。
二、springboot整合mongodb
1.添加pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
2.Controller层代码
@RestController
@RequestMapping("/mongo")
public class MongoDbStudyController {
@Autowired
private MongoDbService mongoDbService;
@PostMapping("saveStudent")
public Student saveObj(@RequestBody Student student){
return mongoDbService.saveObj(student);
}
@GetMapping("/selectStudentAll")
public List<Student> findAll() {
return mongoDbService.findAll();
}
}
3.Service层代码
public interface MongoDbService {
Student saveObj(Student student);
List<Student> findAll();
}
4.ServiceImpl层代码
@Service
public class MongoDbServiceImpl implements MongoDbService {
private static final Logger logger= LoggerFactory.getLogger(MongoDbService.class);
@Autowired
private MongoTemplate mongoTemplate;
@Override
public Student saveObj(Student student) {
student.setCreateTime(new Date());
student.setUpdateTime(new Date());
Student save = mongoTemplate.save(student);
return save;
}
@Override
public List<Student> findAll() {
return mongoTemplate.findAll(Student.class);
}
}
6.application.yml文件,红色箭头标记的地方就是mongodb数据库配置的地方
7.现在用postman测试一下新增接口
查询接口
总结:
今日份鸡汤,接受自己的平凡,然后向阳而生,昨天发现了一个新的日漫很不错,喜欢看动漫的小伙伴可以去看看,《高校之神》。
我是阿达,一名喜欢分享知识的程序员,时不时的也会荒腔走板的聊一聊电影、电视剧、音乐、漫画,这里已经有10086位小伙伴在等你们啦,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!