背景
项目中开始使用mongo数据库,需要快速连接使用mongo,当前操作只是读取,根据id读取,所以需要快速配置
好mongoDB,并且要方便操作使用,这里我用spring-boot-starter-data-mongodb来快速配置
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>${springboot.version}</version>
</dependency>
<springboot.version>2.1.4.RELEASE</springboot.version>
配置
在配置文件application.xml里,如下
spring:
data:
mongodb:
authentication-database: test
uri: mongodb://username:password@localhost:8072/test
这里连接信息放在uri里,另外中单db配置如下
spring:
data:
mongodb:
username: username
password: password
database: test
port: 8072
host: localhost
authentication-database: test
集群方式配置如下,
spring:
data:
mongodb:
authentication-database: test
uri: mongodb://username:password@localhost:8072,localhost:8073/test
操作
这里使用MongoRepository方式进行操作,方便,常用的基本已经封装好,我们用员工表进行示例演示
员工实体,这里只需要@Id注解就行
@Data
public class Emp {
@Id
private String id;
private String empName;
public interface EmpRepository extends MongoRepository<Emp, String> {
}
MongoRepository里封装了增删改查基本操作,具体的实现可查看源码。
目前项目中只用到了id in 操作,只是查询操作,数据的写入都是通过spark进行写入,单测用例,
@Autowired
private EmpRepository empRepository;
@Test
public void testSave(){
Emp emp = new Emp();
emp.setId("1");
emp.setEmpName("test");
empRepository.save(emp);
List<String> ids = Arrays.asList("1");
Iterable<Emp> details = empRepository.findAllById(ids);
}
网友评论