技术编程|SpringBoot怎么整合MongoDB?
之前我们讲解了MongoDB在不同环境的安装和MongoDB的CRUD以及Robo3T可视化工具操作MongoDB , 今天我们来看看实际业务中整合MongoDB的场景 。本文我们主要是通过两种方法实现SpringBoot整合MongoDB , 最后写一个小demo来理解MongoDB在实际业务中的应用 。整合新建项目
新建一个SpringBoot项目 , 只需要勾选SpringWeb和SpringDataMongoDB的模块即可
文章图片
文章图片
通过Robo3T连接MongoDB数据库 , 确保数据库可用 , 也可以实时监测数据库情况 。如果还没有配置Robo3T的可以看我这一篇博客
文章图片
文章图片
在MongoDB中新建一个databases , 一会儿要用 。SpringBoot中配置类
因为MongoDB默认是无密码的 , 我们这边没密码就空着#写服务器地址 , 本地就localhostspring.data.mongodb.host=localhost#用户名密码不同的库需要不同的认证 , 这里是在admin库中spring.data.mongodb.authentication-database=admin#有账户和密码就写 , 没有就空着spring.data.mongodb.username=spring.data.mongodb.password=spring.data.mongodb.port=27017#这里写刚才创建的数据库spring.data.mongodb.database=feng
我们先用MongoRepository接口来实现整合的方法
在项目中创建一个实体类packagecom.feng.pojo;/***
spirngboot-mongodb-test
***@author:Nicer_feng*@date:2020-10-1209:34**/publicclassUser{privateIntegerid;privateStringname;publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicUser(Integerid,Stringname){this.id=id;this.name=name;}@OverridepublicStringtoString(){return"User{"+"id="+id+",name='"+name+'\''+'}';}}
创建一个UserDao接口 , 这个接口要继承MongoRepository接口
我们可以发现MongoRepository接口中已经封装好了一些基础的方法 , 查询 , 增加等
文章图片
文章图片
UserDao.javapackagecom.feng.dao;importcom.feng.pojo.User;importorg.springframework.data.mongodb.repository.MongoRepository;/***
spirngboot-mongodb-test
***@author:Nicer_feng*@date:2020-10-1209:35**/publicinterfaceUserDaoextendsMongoRepository
{//啥也不用干 , 继承上面那个接口就行}
然后我们去测试类测试增加数据测试连接和插入packagecom.feng;importcom.feng.dao.UserDao;importcom.feng.pojo.User;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;@SpringBootTestclassSpirngbootMongodbTestApplicationTests{@AutowiredUserDaouserDao;@TestvoidcontextLoads(){}@TestpublicvoidaddUser(){Useruser=newUser();user.setId(1);user.setName("feng");userDao.insert(user);}}
运行测试方法 , 可以发现测试成功
文章图片
文章图片
在Robo3T中查询数据库 , 发现增加数据成功
推荐阅读
- 电池技术,相机发烧|防爆相机多少钱能买到?
- 行业互联网|深圳第22届高交会闭幕:一大批新技术新成果集中亮相
- 电池技术|动能转换看烟台|有锂电池的地方就有创为
- 行业互联网|2020十大新兴技术揭晓!每一项都可能颠覆我们的生活
- 行业互联网|英国运输技术论坛发布网络安全标准和指南摘要
- 钉科技|“选择性过滤”太难?方太“死磕”8年突破净水技术
- 中国新闻网|告别各自为营,梧桐车联宣布开放系统“技术底座”
- 腾讯|腾讯举办科学脱口秀X-Talk,聚焦人工智能、基因编辑等前沿技术
- |「推仔说新闻」NVIDIA曝光CPU+GPU加速技术 支持两家处理器
- 产业|清华教授魏少军:信息技术产业是全球GDP增长的主要动力