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的资料请关注其它相关文章!
晓李姬