1. 程式人生 > >SpringBoot資料訪問------整合MongoDB

SpringBoot資料訪問------整合MongoDB

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