背景
項(xiàng)目中開始使用mongo數(shù)據(jù)庫(kù)款违,需要快速連接使用mongo诸老,當(dāng)前操作只是讀取,根據(jù)id讀取宗雇,所以需要快速配置
好mongoDB昂芜,并且要方便操作使用,這里我用spring-boot-starter-data-mongodb來(lái)快速配置
依賴
<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方式進(jìn)行操作舞虱,方便欢际,常用的基本已經(jīng)封裝好,我們用員工表進(jìn)行示例演示
員工實(shí)體矾兜,這里只需要@Id注解就行
@Data
public class Emp {
@Id
private String id;
private String empName;
public interface EmpRepository extends MongoRepository<Emp, String> {
}
MongoRepository里封裝了增刪改查基本操作损趋,具體的實(shí)現(xiàn)可查看源碼。
目前項(xiàng)目中只用到了id in 操作椅寺,只是查詢操作浑槽,數(shù)據(jù)的寫入都是通過(guò)spark進(jìn)行寫入,單測(cè)用例返帕,
@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);
}