美文网首页
springboot使用MongoDB数据库

springboot使用MongoDB数据库

作者: 就在附近 | 来源:发表于2019-07-20 20:12 被阅读0次

    背景

    项目中开始使用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);
        
    }
    

    相关文章

      网友评论

          本文标题:springboot使用MongoDB数据库

          本文链接:https://www.haomeiwen.com/subject/xnoulctx.html