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&nbsp.lengmo.dao;import&nbsp.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&nbsp.lengmo.service;import&nbsp.lengmo.dao.MongoDbDao;import&nbsp.lengmo.entity.Hobbies;import&nbsp.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&nbsp.lengmo.controller;import&nbsp.lengmo.entity.Student;import&nbsp.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&nbsp.lengmo.entity;importlombok.Data;importjavax.persistence.Id;@Data//之所以没有像mysql那样需要@table标签去标注我们的表名与实体类的对应关系。是因为mongodb默认类名即与表名对应。publicclassStudent{@IdprivateStringid;privateStringname;privateIntegerage;privateIntegersex;privateIntegerheight;privateHobbieshobbies;}package&nbsp.lengmo.entity;importlombok.Data;@DatapublicclassHobbies{privateStringhname;}

关于“springboot整合mongodb的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注主机评测网行业资讯频道,小编每天都会为大家更新不同的知识点。


上一篇:Pytorch中的图像增广transforms类和预处理方法是什么

下一篇:公网使用SSH远程登录macOS服务器的方法是什么


Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器