当前位置: 首页 >  业内资讯  >   >  正文

资讯:springboot整合mongodb

  • 2023-04-03 10:10:26 来源:脚本之家


(资料图片仅供参考)

目录
1.mongodb的安装和简介1.1简介1.2安装1.3配置环境变量和检查安装情况2.springboot集成mongodb2.1pom文件中maven的引入2.2properties文件配置2.3dao层的编写2.4service层的编写2.5conreoller层的编写2.6实体类层的编写(两个类放一起了,你们记得分开)

1.mongodb的安装和简介

1.1简介

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

1.2安装

网上安装的教程也比较多,我在这里就不再多说了。直接提供一下我自己的db安装包和可视化安装包,这里的版本可能有点旧,需要新的包可以自行去网上下载!

数据库链接:https://pan.baidu.com/s/1Pu7ijrzmzkYEp-jRgHENbA 提取码:7cz2

可视化工具链接:https://pan.baidu.com/s/1ZBe_F5Eab1KYk6GAVono6w 提取码:9g55

1.3配置环境变量和检查安装情况

这里的配置类似于jdk的配置,不再多说!查看安装和启动数据库

2.springboot集成mongodb

为了节省篇幅,好多注释和空行都去掉了,大家见谅!

2.1pom文件中maven的引入



    org.springframework.boot
    spring-boot-starter-data-mongodb

2.2properties文件配置

#################mongodb################
#spring.data.mongodb.uri=mongodb://username:password@localhost:27017/test
spring.data.mongodb.uri=mongodb://localhost:27017/springboot

2.3dao层的编写

package com.lengmo.dao;
 
import com.lengmo.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;
import java.util.List;
 
@Component
public class MongoDbDao {
    @Autowired
    private MongoTemplate mongoTemplate;
    public void save(Student s) {
        mongoTemplate.save(s);
    }
    public Student get(Query query) {
        return mongoTemplate.findOne(query,Student.class);
    }
    public List findAll() {
        return mongoTemplate.findAll(Student.class);
    }
    public void update(Query query, Update update) {
        mongoTemplate.updateMulti(query,update,Student.class);
    }
    public void delete(Query query) {
        mongoTemplate.remove(query,Student.class);
    }
}

2.4service层的编写

这里要熟悉mongodb的一些常规操作方法,多用多练习即可!!!!

package com.lengmo.service;
 
import com.lengmo.dao.MongoDbDao;
import com.lengmo.entity.Hobbies;
import com.lengmo.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import java.util.List;
 
@Service
public class MongoDbService {
    @Autowired
    private MongoDbDao mongoDbDao;
    public void save() {
        Student s=new Student();
        s.setName("lis");
        s.setAge(17);
        s.setSex(1);
        s.setHeight(182);
        Hobbies h=new Hobbies();
        h.setHname("swing");
        s.setHobbies(h);
        mongoDbDao.save(s);
    }
    public Student get() {
       //and查询
        /* Criteria criteriaName=Criteria.where("name").is("lisi");
        Criteria criteriaAage=Criteria.where("age").is(17);
        Criteria andCriteria = new Criteria();
        andCriteria.andOperator(criteriaName,criteriaAage);
        Query query=new Query(andCriteria);*/
        //or查询
        Criteria criteriaName=Criteria.where("name").is("lisi");
        Criteria criteriaAage=Criteria.where("age").gt(16);
        Criteria orCriteria = new Criteria();
        orCriteria.orOperator(criteriaName,criteriaAage);
        Query query=new Query(orCriteria);
 
        return  mongoDbDao.get(query);
    }
    public List findAll() {
        return mongoDbDao.findAll();
    }
    public void update() {
        Query query=new Query(Criteria.where("name").is("zhangsan"));
        Update update=new Update();
        update.set("age",30);
        update.set("height",188);
        update.set("hobbies.hname","basketball");
        mongoDbDao.update(query,update);
    }
    public void delete() {
        Query query=new Query(Criteria.where("name").is("zhangsan"));
        mongoDbDao.delete(query);
    }
}

2.5conreoller层的编写

package com.lengmo.controller;
 
import com.lengmo.entity.Student;
import com.lengmo.service.MongoDbService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
 
@RestController
@RequestMapping("/mongodb")
public class MongoDbController {
    @Autowired
    private MongoDbService mongoDbService;
    @RequestMapping("/save")
    public void save(){
        mongoDbService.save();
    }
    @RequestMapping("/get")
    public Student get(){
        return mongoDbService.get();
    }
    @RequestMapping("/findAll")
    public List findAll(){
        return mongoDbService.findAll();
    }
 
    @RequestMapping("/update")
    public void update(){
        mongoDbService.update();
    }
    @RequestMapping("/delete")
    public void delete(){
        mongoDbService.delete();
    }
}

2.6实体类层的编写(两个类放一起了,你们记得分开)

package com.lengmo.entity;
import lombok.Data;
import javax.persistence.Id;
 
@Data
//之所以没有像 mysql那样需要@table标签去标注我们的表名与实体类的对应关系。是因为 mongodb默认类名即与表名对应。
public class Student{
    @Id
    private String id;
    private String name;
    private Integer age;
    private Integer sex;
    private Integer height;
    private Hobbies hobbies;
}
 
 
 
package com.lengmo.entity;
import lombok.Data;
 
@Data
public class Hobbies {
    private  String hname;
}

至此所有的整合就完成了,接下来就是去验证各个方法的使用了!

到此这篇关于springboot整合mongodb的文章就介绍到这了,更多相关springboot整合mongodb内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

标签:

上一篇 :

下一篇 :

最新推荐

资讯:springboot整合mongodb

这篇文章主要介绍了springboot如何整合mongodb,mongodb的安装和使用,感兴趣的同学可以参考阅读本文

吴忠202家企业提供岗位1216个

3月30日,吴忠市“职引未来——2023年大中城市联合招聘高校毕业生春

环球微动态丨佛光普照!克莱18中11&7记三分拿下31分助队取胜

NBA常规赛,勇士130-115战胜马刺。本场比赛,勇士球员克莱表现不俗,首发出战34分钟,投篮18中11,其中...

全球观天下!【强信心 稳经济 促发展】甘肃省推动四条特色食品产业链集聚发展

【强信心 稳经济 促发展】我省推动四条特色食品产业链集聚发展每日甘肃网兰州讯(新甘肃·甘肃日报记...

每日时讯!让数据从“隐性”走向“引擎”

萧山信息港小学是浙江省杭州市萧山经济技术开发区为教育配套建设的第一所现代化、高品质公办小学。学校...

天天快看:多地查处公务员考试作弊行为 有人被禁考5年

公务员省考成绩放榜了!同时“上榜”的还有作弊考生。今年2月25日,20余省份举行2023年公务员招录的笔试...

早报:“回家”?

大家早上好,欢迎收看4月1日的懂球帝早报。世界杯结束后梅西已是荣誉满身,与巴黎续约还是“回家”?他...

广东省2023年高考体育术科统一考试缓考时间通知_精彩看点

关于广东省2023年普通高考体育术科统一考试缓考时间的通知各地级以上市教育局、招生办公室(考试中心、...

每日热讯!【崩坏3同人文】 第八章-觉醒

(会有较多ooc,且up主文笔渣,不定期更新,希望各位能谅解。)“你们先出去吧。”“白哥哥你不要难过……...

环球即时:彭博针对金融业推出大型语言模型BloombergGPT

彭博针对金融业推出大型语言模型BloombergGPT---中新网3月31日电3月30日,彭博发布公告称,推出为金融界...

速读:长江网两个项目分别获评“湖北好网民工程品牌”“湖北优秀网络文化项目”

“沿着长江读懂中国——湖北千里长江行”宣传推广活动图片。长江网记者李子云摄长江网讯(见习记者施丹...

办护照多少钱2017(办护照多少钱)-全球资讯

1、护照的办理费用是200元。2、护照加注20元 项;护照换发、补发及过期重领220元 本(含加注费20元)...

2023年黄山纪念币预约银行(附预约时间+入口)|焦点快报

预约时间预约承办银行于2023年3月31日至4月2日办理世界文化和自然遗产——黄山、世界文化和自然遗产——...

找个有个性的微信名字,有哪些个性的微信名字?|每日视讯

1、善良 2、凉生゜九陌゜3、四月释梦 4、酉禾5、沐凉生找个适合自己的微信名。6、安稳 女性有涵养的...

中国银行发布2022年报:实现净利润2274.39亿元 同比增5.02%

中国网财经3月31日讯昨日,中国银行发布2022年度报告。截至2022年12月末,中国银行集团资产总额28 9万...

孩子给离世父亲发短信被回复 这位暖心人找到了

孩子给离世父亲发短信被回复这位暖心人找到了

上海实现120急救车医保直接结算全覆盖,车载设备支持医保刷卡

为解决本市医保参保人发生院前急救时相关费用“先现金垫付、后医保报销”的不便,120急救车医保直接结算...

潍坊阁楼、负一层供热咋收费?定了,半价!

记者蔚晓贤3月29日,潍坊市发改委发布《关于潍坊市城区阁楼等特殊用房集中供热价格的通知》的政策解读。...

荆门市社保缴纳多少钱 2023年荆门市社保缴纳基数标准

荆门市社保缴纳多少钱2023年荆门市社保缴纳基数标准,下文就随社保君来简单的了解一下吧。荆门市社保缴...

“美版今日头条”BuzzFeed悄然发布AI生成的整篇文章

编程客栈()3月31日消息:今年早些时候,“美版今日头条”BuzzFeed宣布计划采用人工智能程序ChatGPT协助...

微软博客上几篇 Semantic-kernel (SK)文章

自从最近微软开源Semantic-kernel(SK)来帮助开发人员在其应用程序中使用AI大型语言模型(LLM)以来,Mic...

阜阳市新增34名杰出人才和专业技术拔尖人才

日前,《阜阳市第四届杰出人才和阜阳市第十四批专业技术拔尖人才名单》正式印发,经个人申报、专家评审...

中汽协:1-2月销量排名前十位的MPV生产企业共销售10.1万辆_全球新视野

证券时报网讯,据中国汽车工业协会统计分析,2023年1-2月,销量排名前十位的MPV生产企业共销售10 1万辆...

中欧基金葛兰隐形重仓股曝光

中欧基金葛兰管理的基金产品3月31日公布了2022年年报,以其目前管理规模最大的中欧医疗健康混合为例,截...

热门:苹果或加大原创影片投入,自制内容俨然已成为出路

自制内容成为行业共识的情况下,爆款却依旧没有定律。

电讯报:网飞希望制作英超20家俱乐部系列纪录片,但提议遭拒绝|环球热议

据《每日电讯报》报道,英超拒绝了网飞制作20家俱乐部系列纪录片的提议。本周四,英超召开股东大会做出...

夺冠!王楚钦4:1林高远拿到德班门票,单打、混双全部通过考验_微头条

夺冠!王楚钦4:1林高远拿到德班门票,单打、混双全部通过考验,马龙,奥运,王楚钦,林高远,樊振东,乒乓球比赛

环球百事通!记者:大连人队新赛季主场方案明天公布,球票预计4月2日正式开售

记者:大连人队新赛季主场方案明天公布,球票预计4月2日正式开售,明天,大连人队,球迷协会

今日关注:全球资管巨头景顺最新发声,中国经济复苏前景可期,A股低估优势蕴藏丰富机会

红周刊本刊编辑部|齐永超近日,海外银行出现的一系列风险事件一度令市场“精神紧绷”。与此同时,在美联...

华硕无畏15i 2023评测:15.6英寸OLED好屏,像素级控光,HDR观影体验绝佳-今日观点

通过手机的内卷,我们体验到OLED屏卓越的显示效果。但在笔记本电脑上,别说OLED,很多产品的分辨率还停...

rimworld自我治疗已禁用_环世界自我治疗已禁用

1、《环世界》中很多新手玩家遇到失血过多的问题,就手足无措,实际上是个很小的问题。2、下面是治疗失...

前沿热点:洋主播带货“中国童装之都”加速出海

浙江省湖州市吴兴区织里镇有“中国童装之都”的美誉,占全国童装市场约2 3份额。近年来,随着中国(湖...

大中华寻宝记神兽_中国寻宝记

1、中国寻宝记【中国寻宝记】  《中国寻宝记》是2004年三采出版社出版的图书,作者是姜境孝,译者是徐...

环球热推荐:80方“铁架房”卖270万:学区房价格扭曲,还需继续遏制

大千世界,无奇不有。一套80平方米只有铁架子、没有完整的墙体和屋顶的房子,居然要卖270万,更为离奇的...

基蛋生物:2022年净利润4.93亿元,同比增长23.5%

App3月30日消息,基蛋生物3月30日晚间发布业绩快报,2022年营业收入为18 17亿元,同比增长29 65%;净...

游戏观赛全搞定,LPL春季上分就选三星玄龙骑士电竞显示器-每日资讯

相信许多玩家都是从LOL发布伊始便一路陪伴,彼时游戏画面的细节还不尽完备,但随着时代的发展,特别是在...

热文:钟薛高推出3.5元雪糕,“雪糕刺客”从此再见?

出品 新品略财观作者 吴文武钟薛高向左,传统雪糕玩家向右,2023年的雪糕市场已经硝烟四起。01钟薛高...

红日药业:公司产品依诺肝素钠注射液拟中标第八批药品集中带量采购:环球时讯

中国财富通3月30日-红日药业(300026)公告称,公司日前参加了国家组织药品集中采购和使用联合采购办公室...

本周末京津冀及周边区域将有霾,下周起大气扩散条件转好

未来一周,全国大部地区大气扩散条件较好。3月30日至4月2日,华北中部、黄淮西部等地的部分地区大气扩散...

天天新资讯:唐山丰润区城区公办幼儿园招生报名时间2023

▶招生报名时间2023-03-3007:00-2023-04-1018:00招生以报名先后顺序为准,招满的幼儿园即关闭报名通道。...

资讯推荐:天华新能产能释放2022年大赚66亿 锂电材料业务营收猛增近6倍占比93%

天华超净改名天华新能(行情300390,诊股)(300390 SZ)后的首份年报出炉。3月28日晚间,天华新能披露年...

香甜哈密瓜奏响乡村致富曲

本文转自:来宾日报香甜哈密瓜奏响乡村致富曲——记全国乡村特色产业产值超亿元村桐岭镇和律村□李干金...

皇氏集团:公司暂无光伏产品销售到欧洲

3月30日电,皇氏集团在互动平台表示,公司暂无光伏产品销售到欧洲。

微信又“上新”! 视频号付费订阅 微信刷掌支付 “问一问”来了!

视频号、微信支付、小程序、搜一搜、企业微信等重要应用组件的负责人悉数亮相,现场发布了各板块系列新...

北京相声演出时间及票价_北京相声|全球观察

1、德云社德云社是中国最著名的大型专业相声社团之一,全称北京德云社文化传播有限公司,成立于1995年。...

山椒根-热讯

1、山椒根为芸香科植物大叶花淑的根。2、具有化痰、活血、止痛等功效。本文到此分享完毕,希望对大家有...

防火宣传进校园,百名师生体验灭火装备学防火

森林防火,重在预防。进入春季,天干物燥,是森林火灾的高发期。近日,黑河市森林消防支队孙吴县大队联...

中科院发布迄今最亮伽马射线暴科研成果 中国先进探测设备引关注

央视网消息:北京时间今天(3月29日)凌晨2时,中国科学院高能物理研究所在北京与全球40余家科研机构联...

X 广告
X 广告

精彩放送

当前速讯:《国家节水行动方案》确定的2022年节点主要目标全面完成

信龙码:助力乡村振兴,全方位为企业、产品提供数字服务-世界新视野

看点:高盛:英镑看涨倾向在六个月内逐渐形成

通达股份(002560)3月29日14点50分触及跌停板_热文

鄱阳湖区通江水体面积今年首次突破1000平方公里

【播资讯】姚士才讲授剪枝技巧,希望园林行业有更多“金剪子”

杉杉股份宫斗后续:法人代表已由郑永刚变为郑驹|天天快看

环球焦点!复旦复华:公司目前不涉及您提及的ChatGPT相关业务

热度飙升!3月一手网签创新高,这类人要抓紧了!

高锰酸盐指数203169_什么是高锰酸盐指数 当前速看

现代全新SUV曝光!内饰全面翻新,外观比大众途观L硬派

钱天一为何能一路逆袭?谁注意她赛后表情,该感谢马琳放弃 天天头条

手机影像谁更强不能只看参数,最终样张结果才是关键

欧预赛-麦克托米奈连场双响罗伯逊助攻 西班牙0-2苏格兰

看热讯:退休工人辛来保:六十年,走在学雷锋的路上

工作描述怎么写_工作描述

银座股份股东户数增加10.95%,户均持股12.98万元

【Spring源码】- 04 扩展点之BeanFactoryPostProcessor

房屋中可能存在的不同种类的气体_送老人什么生日礼物比较好

融资丨「亚丁金融」完成数千万元A轮融资,斯道资本独家投资

薛赢:低毛利下业绩增长新路径 环球时快讯

本周我要建仓的基金_环球动态

泰伦-卢确认巴图姆将取代莫里斯一直打首发

报告:苹果iPhone最保值 折旧率仅为安卓手机一半|全球即时

环球即时看!广西左江流域发现大型史前蛇类遗存 当地猎食蛇类史或达6000年

强制执行都执行什么财产

xiaomiflash刷机工具_xiaomiflash:每日头条

天天即时看!使命召唤战区2卡顿掉帧怎么办 cod2战区卡顿问题解决方法

集美区与吉安市永丰县签订合作协议 这些便民事项可实现"跨省通办"-环球即时

看热讯:山东将推动形成五大主题旅游公路廊道

山东泰山新国脚霸气放话,表现获得称赞,新赛季锁定主力!_全球观焦点

匈牙利议会投票通过芬兰加入北约的请求-今日要闻

稳居世界第一!姆巴佩身价不变,1.8亿欧仍为全球第一身价

不出园区办政务 门头沟区首家园区政务服务站启用

每日动态!2022款大指挥官用车记,车主开了1550公里后,说了实在话

奥迪电动Q4大降价!只卖22.88万元 比大众ID.4便宜

头部车企打架尾部车企“下架” 恒驰汽车北京线下门店仅1家营业

快手小店保证金每个月都交吗?要交多少钱?:世界时快讯

【世界时快讯】坎塞洛:列士敦士登有很多也许球员,向他们的努力致...

世界最新:陕西府谷县三道沟镇 以党建引领促进乡村振兴

全国排名第六,湖南向万亿级预制菜市场发起冲击_世界观天下

周边商铺火了,居民却叫苦不迭,他们出手了……|快报

【全球新要闻】拜登经济团队继续重组:白宫经济顾问委员会主席劳斯将于本月底离职

央地深化合作 内蒙古聚焦链主企业

手背上有小红点像血点不痛不痒_手背上有小红点是怎么回事

天天简讯:萨拉托夫国立技术大学_关于萨拉托夫国立技术大学的简介

全球观速讯丨文化苦旅好段摘抄赏析300字(文化苦旅好段摘抄赏析)

山东加快推动由观光旅游向观光旅游和休闲度假旅游并重转变

天天通讯!中国国际经济交流中心副理事长朱民:5%的经济增长目标是审慎、可持续的

全球快看点丨和平精英怎么免费领皮肤

Copyright ©  2015-2022 世界律师网版权所有  备案号:琼ICP备2022009675号-1   联系邮箱:435 227 67@qq.com