Spring Boot 使用NoSQL之 MongoDB
上篇介紹Spring Boot 連線Redis,本章開始介紹使用MongoDB, 在Spring Boot中使用MongoDB一樣的簡單與高效,下文開始演示。(坑以挖深,放心跳)
訪問MongoDB
- 引入依賴(POM)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
- 啟動本地MongoDB
1 . 官網下載最新社群版URL,:https://www.mongodb.com/download-center?jmp=nav
請根據自身的系統環境下載,如下圖:
安裝後啟動服務如下:
Spring Boot的預設配置,application.properties配置引數:
** Mongo 3.0版以下**的配置
spring.data.mongodb.host=mongoserver
spring.data.mongodb.port=27017
** Mongo 3.0版以上**的配置
spring.data.mongodb.uri=mongodb://use:pwd@localhost:27017/test
我本機的配置如下(供參考MongoDB 3.2):
spring.data.mongodb.uri=mongodb://test01:test01@localhost:27017/test```
###建立資料實體
package com.vo;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = -3258839839160856613L;
private Long id;
private String userName;
private String moblie;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getMoblie() {
return moblie;
}
public void setMoblie(String moblie) {
this.moblie = moblie;
}
}
###編寫單元測試用例:
import com.Application;
import com.vo.User;
import org.junit.Assert;
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.test.context.junit4.SpringRunner;
import java.time.Instant;
/**
- Description: mongoDB 使用
- author: 慢慢來了
- date: 2017/3/20 17:17
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class MongoDBTest {
@Autowired
private MongoTemplate mongoTemplate;
@Test
public void saveUser(){
User user = new User();
user.setId(Instant.now().toEpochMilli());
user.setUserName("王大錘");
user.setMobile("13300000000");
mongoTemplate.save(user);
Assert.assertTrue(mongoTemplate.findAll(User.class).size() == 1);
}
@Test
public void findUser(){
User user = mongoTemplate.findOne(new Query(Criteria.where("userName").is("王大錘")) , User.class);
Assert.assertEquals("13300000000" , user.getMobile());
}
}
###檢視結果
通過Mongo命令直接登入並授權如下:
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/5224684-0780b80f6c278f48.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
執行查詢命令:
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/5224684-31fb9e04bc914b69.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###參考資料:
> http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/
相關文章
- Spring Boot實戰系列(2)資料儲存之NoSQL資料庫MongoDBSpring BootSQL資料庫MongoDB
- springboot(十一):Spring boot中mongodb的使用Spring BootMongoDB
- MongoDB 入門教程系列之二:使用 Spring Boot 操作 MongoDBMongoDBSpring Boot
- Spring Boot 2.x基礎教程:使用MongoDBSpring BootMongoDB
- Spring Boot中快速操作MongodbSpring BootMongoDB
- NoSQL學習——MongoDBSQLMongoDB
- Spring Boot MongoDB 查詢操作 (BasicQuery ,BSON)Spring BootMongoDB
- Spring Boot (八)MyBatis + Docker + MongoDB 4.xSpring BootMyBatisDockerMongoDB
- Spring Boot 2.0(四):使用 Docker 部署 Spring BootSpring BootDocker
- Spring Boot + MongoDB 應用的 Docker 化實踐Spring BootMongoDBDocker
- Spring Boot Admin 使用Spring Boot
- Spring Boot 使用1Spring Boot
- Spring Boot之搞定mongoTemplateSpring BootGo
- The SQL vs NoSQL Difference: MySQL vs MongoDBMySqlMongoDB
- mongodb dba常用的nosql語句MongoDBSQL
- Spring Boot學習之---Spring Boot與檢索 下(十六)Spring Boot
- 使用 Docker 部署 Spring BootDockerSpring Boot
- spring boot中zookeeper使用Spring Boot
- spring boot中redis使用Spring BootRedis
- Spring Boot日誌使用Spring Boot
- 使用Spring Boot整合ConsulSpring Boot
- Spring Boot註解 之 @RequestXSpring Boot
- Java之Spring Boot詳解JavaSpring Boot
- Spring Boot之IOC&AOPSpring Boot
- Spring Boot 之訂製 logoSpring BootGo
- MongoDB DBA常用的NoSQL語句(全)MongoDBSQL
- Spring Boot系列(四) Spring Cloud 之 Config ClientSpring BootCloudclient
- Spring Boot系列之使用@Scheduled實現定時任務Spring Boot
- Spring Boot乾貨系列:(十二)Spring Boot使用單元測試Spring Boot
- 使用Spring Boot和Elasticsearch教程Spring BootElasticsearch
- Spring Boot中使用token:jwtSpring BootJWT
- 在 Spring Boot 中使用 RedisSpring BootRedis
- 如何使用Spring Boot的ProfilesSpring Boot
- spring-boot 中使用 FastDFSSpringbootAST
- Spring Boot整合swagger使用教程Spring BootSwagger
- 使用Spring Boot建立docker imageSpring BootDocker
- Spring Boot使用MyBatis Generator、SwaggerSpring BootMyBatisSwagger
- Spring Boot 之 Spring Batch 批處理實踐Spring BootBAT
- 九、Spring Boot整合Spring Security之授權概述Spring Boot