10.跟我学SpringBoot-整合mongoDB

96
孔垂云
2017.12.03 18:19 字数 188

在学习这一节前,你需要了解什么是MongoDB,怎么安装,细节参看:
4.1MongoDb介绍及java使用

1.maven依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

2.application.yml配置

#config Mongodb
spring:
  data:
    mongodb:
      uri: mongodb://localhost:27017/test

其中uri这个参数里面包含了三部分内容,ip、端口、数据库,localhost是ip,27017是端口,test是对应的数据库名
如果需要用户名和密码,只需要mongodb://name:pass@localhost:27017/test,即可

3.新建实体类Staff.java

public class Staff {
    @Id
    private String id;
    private String name;//姓名
// get set 省略
}

4. 数据处理类StaffRepository.java

public interface  StaffRepository extends MongoRepository<Staff, String> {
    public Staff findByName(String name);
}

数据处理类和JPA很相似,继承MongoRepository完成多数操作。

5.单元测试

···
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestMongodb {
@Autowired
private StaffRepository staffRepository;

@Test
public void test() {
    staffRepository.deleteAll();
    // save a couple of customers
    staffRepository.save(new Staff("张三"));
    staffRepository.save(new Staff("李四"));

    // fetch all customers
    System.out.println("查询所有数据:");
    System.out.println("-------------------------------");
    for (Staff staff : staffRepository.findAll()) {
        System.out.println(staff);
    }
    // fetch an individual customer
    System.out.println("按姓名查询");
    System.out.println("--------------------------------");
    System.out.println(staffRepository.findByName("张三"));

}

}
···
测试结果:


mongodb测试结果.png

源码下载

本例子详细源码

跟我学-SpringBoot
Web note ad 1