项目创建:
一、springboot整合Mongodb
整合的过程和我们整合redis基本上是一样的。
第一步:
第二步:
注意:因为我们Mongodb数据库是采用默认的端口号,并且没有设定用户名和密码,如果设定了记得把用户名和密码也配置上,要不然报错
第三步:自动装配 MongoTemplate 对象
上面的三个步骤用代码实现如下所示:
第一步:
第二步:(库名和表名最好用全小写,有大写的话有可能会有问题)
第三步:自动装配 MongoTemplate 对象
测试添加数据:
package com.Bivin;
import com.Bivin.pojo.Book;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
@SpringBootTest
class Springboot10MongodbApplicationTests {
/**
* 第三步: 自动装配 MongoTemplate 对象
*/
@Autowired
private MongoTemplate mongoTemplate;
/**
* 测试: 往Mongodb数据库中添加数据
* 1、首先要把想要添加的数据封装到一个对象属性当中
* 2、然后调用的添加数据save方法
*/
@Test
void contextLoads() {
Book book = new Book();
book.setId(1);
book.setName("springboot");
book.setType("springboot");
book.setDescription("springboot");
// 调用save方法,往Mongodb数据库中添加数据
mongoTemplate.save(book);
}
}
测试查询数据库中所有数据:
注意:查询数据库中的数据的时候,一定要保证mongodb数据库中的字段类型与实体类中的属性类型一致,要不然封装不上数据
package com.Bivin;
import com.Bivin.pojo.Book;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
import java.util.List;
@SpringBootTest
class Springboot10MongodbApplicationTests {
/**
* 第三步: 自动装配 MongoTemplate 对象
*/
@Autowired
private MongoTemplate mongoTemplate;
/**
* 测试查询数据库中数据: (思路:把数据库中的数据封装到Book实体类属性中查询出来即可)
*
*/
@Test
void contextLoads() {
// 直接用MongoTemplate 对象调用findAll即可查询所有功能
List<Book> all = mongoTemplate.findAll(Book.class);
System.out.println(all);
}
}
但是有一个问题:竟然报错了。信息如下:
为什么会报这个错误呢:
再用上面查询数据的代码就可以把数据库中的数据通过封装到实体类Book属性当中,然后查询出来了:
Book实体类: