pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zsx</groupId>
<artifactId>spring-boot-mongodb</artifactId>
<packaging>jar</packaging>
<version>1.0.0</version>
<name>spring-boot-mongodb Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jdk.version>1.7</jdk.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 增加mongodb支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.16</version>
</dependency>
<!-- Junit 单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>spring-boot-mongodb</finalName>
<plugins>
<!-- 如果要maven打包成jar,必须要有下面的maven插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
配置文件 application.yml
server:
port: 8080
# context-path: /mongodb
spring:
data:
mongodb:
uri: mongodb://root:123456@127.0.0.1:27017/mydb
使用方法
- MainController
package com.zsx.controller;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
@RestController
public class MainController {
@Autowired
private MongoTemplate mongoTemplate;
@RequestMapping("add")
@ResponseBody
public JSONObject add(HttpServletRequest request) {
JSONObject jsonObject = new JSONObject();
Map<String, String[]> parameterMap = request.getParameterMap();
String collectionName = "";
Document document = new Document();
for(Map.Entry<String, String[]> entry : parameterMap.entrySet()){
String key = entry.getKey();
String value = entry.getValue()[0];
if ("collection".equals(key)) {
collectionName = value;
}else{
document.append(key, value);
}
}
if (!"".equals(collectionName)) {
mongoTemplate.insert(document, collectionName);
jsonObject.put("success", true);
jsonObject.put("msg", "插入成功");
}else{
jsonObject.put("success", false);
jsonObject.put("msg", "请指定一个集合插入数据");
}
return jsonObject;
// List<Object> find2 = mongoTemplate.find(new Query(null), Object.class, "data");
}
@RequestMapping("get")
@ResponseBody
public List<Object> get(HttpServletRequest request) {
String collection = request.getParameter("collection");
if (collection == null) {
return null;
}
Criteria criteria = new Criteria();
List<Object> list = mongoTemplate.find(new Query(criteria), Object.class, collection);
return list;
}
}
具体代码见 github
https://github.com/zhaoshuxue/springBoot/tree/master/spring-boot-mongodb