第一步:创建maven项目并在pom.xml中添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.13.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
第二步:创建application.properties文件,并在里面引入mongodb配置
第三步:注入MongoTemplate
我这里编写测试类
package springbootTest;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
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.data.mongodb.core.query.Update;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = SPAppLication.class )//这里是启动类
public class MongoDBTest {
@Autowired
private MongoTemplate mongoTemplate;
@Test
public void add(){
String dbName = mongoTemplate.getDb().getName();
System.out.println(dbName);
}
@Test
public void edit(){
Query query = new Query(Criteria.where("age").is(24));
Update update = new Update();
update.set("name", "sunwukong");
update.set("age",500);
mongoTemplate.updateFirst(query, update, "User");
}
@Test
public void del(){
Query query = new Query(Criteria.where("name").is("sunwukong"));
mongoTemplate.remove(query , "User");
}
@Test
public void getById(){
Query query = new Query(Criteria.where("name").is("sunwukong"));
User user = mongoTemplate.findOne(query,User.class,"User");
System.out.println(user);
}
}
因为我的pom.xml文件中还引入
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>
所以也可以直接编写// 连接到 mongodb 服务进行测试
public class MongoDBJDBC {
public static void main(String[] args) {
try{
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
// 连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
System.out.println("Connect to database successfully");
//mongoDatabase.createCollection("jovi");
//System.out.println("集合创建成功");
MongoCollection<Document> collection = mongoDatabase.getCollection("jovi");
System.out.println("集合获取成功");
//插入文档
/**
* 1. 创建文档 org.bson.Document 参数为key-value的格式
* 2. 创建文档集合List<Document>
* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用 mongoCollection.insertOne(Document)
* */
Document document = new Document("title", "joviTest").append("date", "2019-04-24").append("happy", "今天心情不错").
append("weather", "rain");
List<Document> documents = new ArrayList<Document>();
documents.add(document);
collection.insertMany(documents);
System.out.println("文档插入成功");
FindIterable<Document> find = collection.find();
for (Document document2 : find) {
System.out.println(document2);
}
}catch(Exception e){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}