springboot整合mongodb

1、MongoDB简介

 

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

 

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。

 

MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2、pxm.xml依赖

 

<!--SpringBoot整合MongoDB-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<!--MongoDB相关依赖-->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>3.9.1</version>
</dependency>

3、配置文件

# MongoDB数据库
spring.data.mongodb.uri=mongodb://127.0.0.1:27017/testMongoDB

# 设置了密码的MongoDB配置方式
# MongoDB服务器连接地址
#spring.data.mongodb.host=127.0.0.1
# MongoDB服务器连接端口
#spring.data.mongodb.port=27017
# MongoDB的验证数据库
#spring.data.mongodb.authentication-database=admin
# MongoDB数据库用户
#spring.data.mongodb.username=root
# MongoDB数据库密码
#spring.data.mongodb.password=123456
# 带连接的数据库
#spring.data.mongodb.database=testMongoDB

4、MongoTemplate的基本方法

首先使用@Autowired注入MongoTemplate(后面直接使用,就不特殊说明)
@Autowired
private MongoTemplate mongoTemplate;

    1.删除 根据deviceId

                          //mongo数据库字段 //值                //集合名

 

mongoTemplate.remove(new Query(Criteria.where("deviceId").is(deviceId)),"wifi_device");


2.修改 根据deviceId修改名称
Query q = new Query(new Criteria("deviceId").is(deviceEntity.getDeviceId()));
Update update = new Update().set("name",deviceEntity.getName());
mongoTemplate.updateMulti(q,update,DeviceEntity.class);

3. 添加
mongoTemplate.save(deviceEntity);

4.查询 根据自己需要来这是个集合连环套
/**
* 查询物模型
*/
@RequestMapping("/selectEvent/{productId}")
public ModelEntity selectEvent(@PathVariable("productId") String productId){
HashMap<String,String> map1 =new HashMap<>();
map1.put("identifier",productId);
Query queryProfile = Query.query(Criteria.where("profile").is(map1));
ModelEntity modelEntities =mongoTemplate.findOne(queryProfile,ModelEntity.class);
return modelEntities;
}
 

 

posted @ 2021-06-02 10:37  liberalartsy  阅读(190)  评论(0)    收藏  举报