Spring framework và MongoDB

Trong bài viết trước, mình đã giới thiệu với các bạn các thao tác cơ bản với MongoDB sử dụng Java. Nếu ứng dụng của các bạn đang sử dụng Spring framework thì hãy tận dụng một thư viện của Spring dành cho MongoDB để thao tác với hệ thống database này. Cụ thể như thế nào? Chúng ta hãy cùng nhau tìm hiểu trong bài viết này các bạn nhé!

Đầu tiên, mình sẽ tạo mới một Maven project để làm ví dụ:

Spring framework và MongoDB

Thư viện mà mình đề cập ở trên có tên là spring-data-mongodb. Mình sẽ thêm dependency của nó như sau:

Interface chính để thao tác với MongoDB trong thư viện spring-data-mongodb là interface MongoOperations. Nó định nghĩa rất nhiều phương thức khác nhau giúp chúng ta có thể dễ dàng thao tác với MongoDB. Class chính hiện thực interface MongoOperations tên là MongoTemplate và để sử dụng interface MongoOperations, chúng ta cần khai báo bean cho class MongoTemplate trong Spring container.

Mình sẽ tạo tập tin cấu hình cho Spring nằm trong thư mục src/main/resources tên là spring.xml với nội dung ban đầu như sau:

Class MongoTemplate có 3 constructors, xem thêm tại đây nhé các bạn! Các bạn chọn constructor nào để khởi tạo đối tượng cho MongoTemplate đều được. Ở đây, mình sẽ khởi tạo MongoTemplate với một đối tượng MongoClient kèm theo tên database: MongoTemplate(com.mongodb.MongoClient mongoClient, String databaseName).

Chúng ta cần khởi tạo bean cho đối tượng MongoClient.

Nếu MongoDB của các bạn không cần username, password thì các bạn có thể khởi tạo đối tượng MongoClient như sau:

trong trường hợp MongoDB của các bạn cài đặt ở local và sử dụng port mặc định của nó.

Trong trường hợp MongoDB được cài đặt ở một máy khác thì các bạn có thể khởi tạo đối tượng MongoClient như sau:

Nếu MongoDB của các bạn cần username và password thì các bạn có thể sử dụng constructor MongoClient(ServerAddress addr, List<MongoCredential> credentialsList) để khởi tạo nó nhé:

Trong ví dụ của bài viết này, mình cài đặt MongoDB ở local và không cần username, password nên mình chỉ cần khởi tạo đối tượng MongoClient như sau:

Đến đây là chúng ta đã hoàn thành việc cấu hình để làm việc với MongoDB trong Spring rồi đó các bạn. Giờ thử làm một ví dụ nhé!

Mình có một đối tượng Student như sau:

Insert một document:

Kết quả:

Spring framework và MongoDB

5/5 - (1 bình chọn)

Add Comment