SpringBoot数据访问------整合MongoDB

版权声明:本文为博主原创文章,欢迎转载,但请注明作者及文章出处,博文有什么不正之处欢迎指正。 https://blog.csdn.net/try_try_try/article/details/80608166

1.引入依赖

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

2.配置信息

spring:
  data:
    mongodb:
      uri: mongodb://192.168.10.173:27017
      database: test
      username: admin
      password: admin

3.自定义实体类

public class User {

    @Id
    public long id;
    public String name;
    public int age;
    ...

3. 继承MongoRepository

public interface UserRepository extends MongoRepository<User, String> {

    public List<User> findByAge(int age);

}

4.测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootMongodbApplicationTests {

    @Autowired
    UserRepository userRepository;

    @Test
    public void contextLoads() {
        userRepository.deleteAll();
        userRepository.save(new User("Alice", 18));

        System.out.println("findAll-------------------");
        for (User user : userRepository.findAll()) {
            System.out.println(user.toString());
        }
        System.out.println("findByAge-------------------");
        System.out.println(userRepository.findByAge(18).toString());
    }
}

5.测试结果分析

      到此我们已经完成了MongoDB的CRUD,我们发现实现方式跟SpringDataJPA有着同样的数据操作方式,数据接口通过继承MongoRepository就可以让我们可以使用与JPA相同的方法进行操作MongoDB文档内的数据。但是MongoDB不支持主键自增,所以这里只能添加一条数据,添加第二条的时候会报错。
MongoDB的主键自增请参考我的另一篇博文:https://blog.csdn.net/try_try_try/article/details/80612666

猜你喜欢

转载自blog.csdn.net/try_try_try/article/details/80608166