生活随笔
收集整理的這篇文章主要介紹了
学习Spring Boot:(二十)使用 MongoDB
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
MongoDB(來自于英文單詞“Humongous”,中文含義為“龐大” )是可以應(yīng)用于各種規(guī)模的企業(yè)、各個(gè)行業(yè)以及各類應(yīng)用程序的開源數(shù)據(jù)庫(kù)。基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。MongoDB是一個(gè)高性能,開源,無模式的文檔型數(shù)據(jù)庫(kù),是當(dāng)前NoSql數(shù)據(jù)庫(kù)中比較熱門的一種。
正文
Spring Boot 對(duì) MongoDB 的數(shù)據(jù)源操作進(jìn)行了封裝。
加入依賴
在 pom.xml 加入:
<dependency><groupId>org.springframework.boot
</groupId><artifactId>spring-boot-starter-data-mongodb
</artifactId></dependency>
配置連接參數(shù)
在系統(tǒng)配置文件中配置:
spring:data:mongodb:uri: mongodb
://wuwii
:123456@localhost
:27017/learn
測(cè)試使用
創(chuàng)建實(shí)體
@Data
@Document(collection
= "pet")
public class Pet implements Serializable {@Idprivate Long id
;@Field("pet_name") private String name
;private String species
;
}
創(chuàng)建 dao 接口完成基礎(chǔ)操作
@Repository
public class PetDaoImpl implements PetDao {@Autowiredprivate MongoTemplate mongoTemplate
;@Overridepublic Pet find(Long id
) {return mongoTemplate
.findById(id
, Pet.class);}@Overridepublic List<Pet> findAll() {return mongoTemplate
.findAll(Pet.class);}@Overridepublic void add(Pet pet
) {mongoTemplate
.insert(pet
);}@Overridepublic void update(Pet pet
) {Query query
= new Query();Criteria criteria
= new Criteria("id");criteria
.is(pet
.getId());query
.addCriteria(criteria
);Update update
= new Update();update
.set("pet_name", pet
.getName()).set("species", pet
.getSpecies());mongoTemplate
.updateFirst(query
, update
, Pet.class); }@Overridepublic void delete(Long id
) {Criteria criteria
= new Criteria("id");criteria
.is(id
);Query query
= new Query();query
.addCriteria(criteria
);mongoTemplate
.remove(query
, Pet.class); }
}
簡(jiǎn)單測(cè)試下
@SpringBootTest
@RunWith(SpringRunner.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING
)
public class PetDaoTest {@Autowiredprivate PetDao petDao
;private Pet pet
;@Beforepublic void before() {pet
= new Pet();pet
.setId(1L);pet
.setName("Tom");pet
.setSpecies("cat");}@Afterpublic void after() {}@Testpublic void test01Add() {Pet pet
= new Pet();pet
.setId(1L);pet
.setName("Tom");pet
.setSpecies("cat");petDao
.add(pet
);}@Testpublic void test02Find() {Assert.assertThat(pet
, Matchers.equalTo(petDao
.find(pet
.getId())));}@Testpublic void test03FindAll() {System.out
.println(petDao
.findAll());}@Testpublic void test04Update() {pet
.setName("KronChan");petDao
.update(pet
);Assert.assertThat(pet
, Matchers.equalTo(petDao
.find(pet
.getId())));}@Testpublic void test05Delete() {petDao
.delete(pet
.getId());Assert.assertThat(null, Matchers.equalTo(petDao
.find(pet
.getId())));}}
去數(shù)據(jù)庫(kù)驗(yàn)證結(jié)果
> use learn
switched to db learn
> db
.pet
.find()
{ "_id" : NumberLong(1), "_class" : "com.wuwii.testmongodb.Pet", "pet_name" : "KronChan", "species" : "cat" }
多數(shù)據(jù)源的使用
未完成
總結(jié)
以上是生活随笔為你收集整理的学习Spring Boot:(二十)使用 MongoDB的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。