springboot整合mongodb的方法是什么
这篇文章主要介绍“springboot整合mongodb的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot整合mongodb的方法是什么”文章能帮助大家解决问题。
1.mongodb的安装和简介
1.1简介
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
1.2安装
网上安装的教程也比较多,我在这里就不再多说了。
1.3配置环境变量和检查安装情况
这里的配置类似于jdk的配置,不再多说!查看安装和启动数据库
2.springboot集成mongodb
为了节省篇幅,好多注释和空行都去掉了,大家见谅!
2.1pom文件中maven的引入
<!--mongodb--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>
2.2properties文件配置
#################mongodb#################spring.data.mongodb.uri=mongodb://username:password@localhost:27017/testspring.data.mongodb.uri=mongodb://localhost:27017/springboot
2.3dao层的编写
package .lengmo.dao;import .lengmo.entity.Student;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.mongodb.core.MongoTemplate;importorg.springframework.data.mongodb.core.query.Query;importorg.springframework.data.mongodb.core.query.Update;importorg.springframework.stereotypeponent;importjava.util.List;ponentpublicclassMongoDbDao{@AutowiredprivateMongoTemplatemongoTemplate;publicvoidsave(Students){mongoTemplate.save(s);}publicStudentget(Queryquery){returnmongoTemplate.findOne(query,Student.class);}publicList<Student>findAll(){returnmongoTemplate.findAll(Student.class);}publicvoidupdate(Queryquery,Updateupdate){mongoTemplate.updateMulti(query,update,Student.class);}publicvoiddelete(Queryquery){mongoTemplate.remove(query,Student.class);}}
2.4service层的编写
这里要熟悉mongodb的一些常规操作方法,多用多练习即可!!!!
package .lengmo.service;import .lengmo.dao.MongoDbDao;import .lengmo.entity.Hobbies;import .lengmo.entity.Student;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.mongodb.core.query.Criteria;importorg.springframework.data.mongodb.core.query.Query;importorg.springframework.data.mongodb.core.query.Update;importorg.springframework.stereotype.Service;importjava.util.List;@ServicepublicclassMongoDbService{@AutowiredprivateMongoDbDaomongoDbDao;publicvoidsave(){Students=newStudent();s.setName("lis");s.setAge(17);s.setSex(1);s.setHeight(182);Hobbiesh=newHobbies();h.setHname("swing");s.setHobbies(h);mongoDbDao.save(s);}publicStudentget(){//and查询/*CriteriacriteriaName=Criteria.where("name").is("lisi");CriteriacriteriaAage=Criteria.where("age").is(17);CriteriaandCriteria=newCriteria();andCriteria.andOperator(criteriaName,criteriaAage);Queryquery=newQuery(andCriteria);*///or查询CriteriacriteriaName=Criteria.where("name").is("lisi");CriteriacriteriaAage=Criteria.where("age").gt(16);CriteriaorCriteria=newCriteria();orCriteria.orOperator(criteriaName,criteriaAage);Queryquery=newQuery(orCriteria);returnmongoDbDao.get(query);}publicList<Student>findAll(){returnmongoDbDao.findAll();}publicvoidupdate(){Queryquery=newQuery(Criteria.where("name").is("zhangsan"));Updateupdate=newUpdate();update.set("age",30);update.set("height",188);update.set("hobbies.hname","basketball");mongoDbDao.update(query,update);}publicvoiddelete(){Queryquery=newQuery(Criteria.where("name").is("zhangsan"));mongoDbDao.delete(query);}}
2.5conreoller层的编写
package .lengmo.controller;import .lengmo.entity.Student;import .lengmo.service.MongoDbService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;importjava.util.List;@RestController@RequestMapping("/mongodb")publicclassMongoDbController{@AutowiredprivateMongoDbServicemongoDbService;@RequestMapping("/save")publicvoidsave(){mongoDbService.save();}@RequestMapping("/get")publicStudentget(){returnmongoDbService.get();}@RequestMapping("/findAll")publicList<Student>findAll(){returnmongoDbService.findAll();}@RequestMapping("/update")publicvoidupdate(){mongoDbService.update();}@RequestMapping("/delete")publicvoiddelete(){mongoDbService.delete();}}
2.6实体类层的编写(两个类放一起了,你们记得分开)
package .lengmo.entity;importlombok.Data;importjavax.persistence.Id;@Data//之所以没有像mysql那样需要@table标签去标注我们的表名与实体类的对应关系。是因为mongodb默认类名即与表名对应。publicclassStudent{@IdprivateStringid;privateStringname;privateIntegerage;privateIntegersex;privateIntegerheight;privateHobbieshobbies;}package .lengmo.entity;importlombok.Data;@DatapublicclassHobbies{privateStringhname;}
关于“springboot整合mongodb的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注主机评测网行业资讯频道,小编每天都会为大家更新不同的知识点。
上一篇:Pytorch中的图像增广transforms类和预处理方法是什么
声卡驱动正常但是没有声音如何办?声卡驱动正常没声音的解决方法
英伟达显卡驱动如何退回到原来版本?英伟达显卡驱动退回到原来版
重装系统,电脑只有一个C盘如何创建分区
Defender提示错误应用程序MsMpEng.exe无法启动
电脑无法启动或仍在加载如何办?电脑无法启动或仍在加载的解决方
打印机驱动如何卸载删除?卸载打印机驱动干净的教程
电脑没网如何安装网卡驱动?教你没网如何安装网卡驱动的方法
系统32位和62位如何选择:详解它们之间的差异
电脑文件删不掉如何办?四种方法解决
任务管理器快捷键有哪些?任务管理器快捷键大全