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;
}

浙公网安备 33010602011771号