SpringBoot資料訪問------整合MongoDB
阿新 • • 發佈:2018-12-19
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。