SpringBoot整合MongoDB的实现代码
程序员文章站
2022-06-18 10:28:59
mongodb官网安装:mongodb客户端工具(mongo management studio)安装:一、添加maven依赖
三、代码中使用mongo
1.mongo适用场景
2.以我最近博客开发的一个联系我为例(这里我使用mongo)
mongodb官网安装:
mongodb客户端工具(mongo management studio)安装:
一、添加maven依赖
<!--mongodb--> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-mongodb</artifactid> </dependency>
二、application.yml配置
spring: data: mongodb: host: 127.0.0.1 port: 27017 database: blog
三、代码中使用mongo
1.mongo适用场景
(1)可用于动态列;
(2)可用于配置方面(如一些系统配置);
(3)日志记录;
(4)用于博客开发中的评论或留言;
(5)物联网方面的门锁相关信息存储;
(6)探头;
上面六个场景是我之前开发使用过的。
当然了,mongo还可以应用更多地方,关键在于应用的场景是否合适。
2.以我最近博客开发的一个联系我为例(这里我使用mongo)
(1)建立数据模型(需要在mongo对应的库,建立对应的集合)
package com.springcloud.blog.admin.mongo.entity; import com.springcloud.blog.admin.common.base.basedto; import org.springframework.data.mongodb.core.mapping.document; import org.springframework.data.mongodb.core.mapping.field; /** * 联系我-数据模型 */ @document(collection = "contact_me") public class contactme extends basedto { @field private string name; @field private string email; @field private string content; public string getname() { return name; } public void setname(string name) { this.name = name; } public string getemail() { return email; } public void setemail(string email) { this.email = email; } public string getcontent() { return content; } public void setcontent(string content) { this.content = content; } }
(2)数据访问层
package com.springcloud.blog.admin.mongo.dao; import com.springcloud.blog.admin.mongo.entity.contactme; import org.springframework.data.mongodb.repository.mongorepository; /** * 联系我-持久层 */ public interface contactmerepository extends mongorepository<contactme, string> { }
(3)对外api
package com.springcloud.blog.admin.mongo.controller; import com.alibaba.fastjson.jsonobject; import com.springcloud.blog.admin.common.dict.responsedict; import com.springcloud.blog.admin.mongo.dao.contactmerepository; import com.springcloud.blog.admin.mongo.entity.contactme; import org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.postmapping; import org.springframework.web.bind.annotation.requestbody; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restcontroller; import java.util.list; /** * 联系我(mongo example) */ @restcontroller @requestmapping("/contactme") public class contactmecontroller { @autowired private contactmerepository contactmerepository; @postmapping("/save") public jsonobject save(@requestbody contactme contactme) { jsonobject jsonobject = new jsonobject(); contactmerepository.save(contactme); jsonobject.put(responsedict.response_code_key, responsedict.response_success_code); jsonobject.put(responsedict.response_msg_key, responsedict.response_success_msg); return jsonobject; } @postmapping("/delete") public jsonobject delete(@requestbody contactme contactme) { jsonobject jsonobject = new jsonobject(); contactmerepository.delete(contactme); jsonobject.put(responsedict.response_code_key, responsedict.response_success_code); jsonobject.put(responsedict.response_msg_key, responsedict.response_success_msg); return jsonobject; } @postmapping("/update") public jsonobject update(@requestbody contactme contactme) { jsonobject jsonobject = new jsonobject(); contactmerepository.save(contactme); jsonobject.put(responsedict.response_code_key, responsedict.response_success_code); jsonobject.put(responsedict.response_msg_key, responsedict.response_success_msg); return jsonobject; } @postmapping("/getall") public jsonobject getall() { jsonobject jsonobject = new jsonobject(); list<contactme> list = contactmerepository.findall(); jsonobject.put(responsedict.response_code_key, responsedict.response_success_code); jsonobject.put(responsedict.response_msg_key, responsedict.response_success_msg); jsonobject.put(responsedict.response_data_key, list); return jsonobject; } }
简单的说就是一个非常简单的增删改查,可帮助入门。
同时一般情况下,还是需要业务逻辑层的,一方面为了复用考虑,另外一方面不同的业务办不同的事情。
以上就是springboot整合mongodb的实现代码的详细内容,更多关于springboot整合mongodb的资料请关注其它相关文章!
上一篇: MySQL 查询速度慢的原因
下一篇: 浅谈软件工程师的自我修养