前言
MongoDB [1] 是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。
正文
Spring Boot 对 MongoDB 的数据源操作进行了封装。
加入依赖
在 pom.xml 加入:
1 | <dependency> |
配置连接参数
在系统配置文件中配置:
1 | spring: |
测试使用
创建实体
1
2
3
4
5
6
7
8
9
10
"pet") // 标识要持久化到MongoDB的域对象。模型名是 pet (collection =
public class Pet implements Serializable {
//@Indexed(unique = true) // 使用MongoDB的索引特性标记一个字段
private Long id;
"pet_name") //自定义设置对应MongoDB中的key (
private String name;
private String species;
}创建 dao 接口完成基础操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class PetDaoImpl implements PetDao {
private MongoTemplate mongoTemplate;
public Pet find(Long id) {
return mongoTemplate.findById(id, Pet.class);
}
public List<Pet> findAll() {
return mongoTemplate.findAll(Pet.class);
}
public void add(Pet pet) {
mongoTemplate.insert(pet);
}
public 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); // 条件,更新的数据,更新的类型
}
public void delete(Long id) {
Criteria criteria = new Criteria("id");
criteria.is(id);
Query query = new Query();
query.addCriteria(criteria);
mongoTemplate.remove(query, Pet.class); // 删除的条件、删除的类型
}
}简单测试下
1 |
|
去数据库验证结果
1 | > use learn |
多数据源的使用
未完成
- 1.来自于英文单词“Humongous”,中文含义为“庞大” ↩