Ghi chú. Bài viết mang chất lưu lại kiến thức để sử dụng sau này mày mò google khắp nơi giải chút mới giải quyết được, nếu bạn nào gặp vấn đề tương tự thì có thể tham khảo
Số là mình bắt đầu thực hiện một dự án mới trên Spring Boot và cần làm việc với NoSQL, cụ thể là Mông Gô Đê Bê [MongoDB], trước thì mình đã đọc và tham khảo qua về SQL và NoSQL rồi, tuy nhiên mình . Đơn giản thì mình nghĩ chắc connect Mongo cũng thế thôi, vì JPA và Hibernate viết ra để dùng ALL In ONE mà. Cơ mà đâm đầu vào thì cũng mệt vãi đạn
Những thứ cần chuẩn bị
1 project Spring Boot maven hay gradle thì tùy, mình dùng gradle
Máy chủ Mongo [Local cũng được]
Mongo Compass[ Có cũng dc mà không cũng được]
IDE - tất nhiên [ Mxài Intelij, bản 2020 trở lên tool mới hỗ trợ kết nối Mongo nhé]
Trước tiên các bạn cần nhớ table in Mongo not call is Table which
Bảng = Bộ sưu tập
Row = Documnent [ Giá trị khóa cặp]
Còn vài thứ nữa các bạn tham khảo bài viết của bạn này nhé. Hướng dẫn Mongo cơ bản
Ấy thế mà trong thực thể @Table lại thay bằng @Document chứ không có cái @Collection
CỤ THỂ thì các bước cần làm như sau
1 - Thêm phụ thuộc
Các bạn cần
org.springframework.data:spring-data-mongodb
org.mongodb:mongo-java-driver:3.12.11
2 - Config trong file yml
Chắc chắn các bạn đã đồng ý với kiểu kết nối này
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
Nhưng cụ Mongo thì đi một quãng đường riêng
spring:
data:
mongodb:
authentication-database: admin
database: test
host: localhost
port: 27017
Ồ, làm tốt lắm. Có vẻ như rút gọn nhờ
Chạy cái coi. Error cạo mặt lợn, và sau 10p gò vấp à nó k dùng @Table mà xài @Document + Repository thì extends MongoRepository thay vì JpaRepository
3 - Entity - Chỉ cần @Id thôi nhé, không cần chỉ định cột cũng dc. đúng
@Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
4- Kho lưu trữ
@Repository
public interface UserAccountRepository extends MongoRepository {
}
5 - Cấu hình Mongo
===> có vẻ ổn nhờ, Run cái nữa nào --- lại lỗi-- Google tiếp. A back config next
@SpringBootApplication[loại trừ = {DataSourceAutoConfiguration. lớp, MongoAutoConfiguration. lớp, MongoDataAutoConfiguration. lớp}]
== running try, hơi giunnnnn. Reẹo. Lỗi này có vẻ như tường minh tí
Error here. Không thể tìm thấy một thành phần yêu cầu một bean có tên 'mongoTemplate'
Có vẻ thiếu ngữ cảnh không kiếm được cái đậu kia. Lại gò GG tiếp Đây rồi, mò mãi mới kiếm được trên GitHub, chắc của mấy anh Ấn thần thánh
@Configuration
public class MongoConfig extends AbstractMongoClientConfiguration {
@Override
protected String getDatabaseName[] {
return env.getProperty["spring.data.mongodb.database"];
}
}
Chạy lại cái nào Úi xời mừng rơi nước mắt, chạy rồi
Đất, cụ có thể là các bạn chú ý mấy cái nghĩ ngợi đó
Và đặc biệt trong file pom/build không thiếu thằng này nhé " org. mongodb. mongo-java-driver" , no it is a cái AbstractMongoClientConfiguration ko có đủ client để chạy và hẹo luôn nha. Còn lại CRUD thì khả năng không có các loại khác đâu, Query thì nhớ xài PLSQL nhá
Hướng dẫn này hướng dẫn bạn quy trình sử dụng Spring Data MongoDB để xây dựng một ứng dụng lưu trữ dữ liệu và truy xuất dữ liệu đó từ MongoDB, một cơ sở dữ liệu dựa trên tài liệu
Những gì bạn sẽ xây dựng
Bạn sẽ lưu trữ
$ port install mongodb1 POJO [Các đối tượng Java cũ đơn giản] trong cơ sở dữ liệu MongoDB bằng cách sử dụng Spring Data MongoDB
Những gì bạn cần
Khoảng 15 phút
Trình soạn thảo văn bản hoặc IDE yêu thích
JDK 1. 8 hoặc muộn hơn
Lớp 4+ hoặc Maven 3. 2+
Bạn cũng có thể nhập thẳng mã vào IDE của mình
Bộ công cụ mùa xuân [STS]
Ý TƯỞNG IntelliJ
VSCode
Làm thế nào để hoàn thành hướng dẫn này
Giống như hầu hết các hướng dẫn Bắt đầu với Spring, bạn có thể bắt đầu từ đầu và hoàn thành từng bước hoặc bạn có thể bỏ qua các bước thiết lập cơ bản đã quen thuộc với bạn. Dù bằng cách nào, bạn sẽ kết thúc với mã làm việc
Để bắt đầu lại từ đầu, hãy chuyển sang phần Bắt đầu với Spring Initializr
Để bỏ qua những điều cơ bản, hãy làm như sau
Tải xuống và giải nén kho lưu trữ nguồn cho hướng dẫn này hoặc sao chép nó bằng Git.
$ port install mongodb
2cd into
$ port install mongodb
3Tiếp tục cài đặt và khởi chạy MongoDB
Khi bạn hoàn thành, bạn có thể kiểm tra kết quả của mình với mã trong
$ port install mongodb4
Bắt đầu với Khởi tạo mùa xuân
Bạn có thể sử dụng dự án được khởi tạo trước này và nhấp vào Tạo để tải xuống tệp ZIP. Dự án này được cấu hình để phù hợp với các ví dụ trong hướng dẫn này
Để khởi tạo dự án theo cách thủ công
Điều hướng đến https. //bắt đầu. mùa xuân. io. Dịch vụ này thu thập tất cả các phụ thuộc bạn cần cho một ứng dụng và thực hiện hầu hết các thiết lập cho bạn
Chọn Gradle hoặc Maven và ngôn ngữ bạn muốn sử dụng. Hướng dẫn này giả định rằng bạn đã chọn Java
Nhấp vào Phụ thuộc và chọn Dữ liệu mùa xuân MongoDB
Nhấp vào Tạo
Tải xuống tệp ZIP kết quả, đây là kho lưu trữ ứng dụng web được định cấu hình theo lựa chọn của bạn
Nếu IDE của bạn có tích hợp Spring Initializr, bạn có thể hoàn tất quy trình này từ IDE của mình
Bạn cũng có thể rẽ nhánh dự án từ Github và mở nó trong IDE hoặc trình chỉnh sửa khác của bạn
Cài đặt và khởi chạy MongoDB
Khi dự án của bạn được thiết lập, bạn có thể cài đặt và khởi chạy cơ sở dữ liệu MongoDB
Nếu bạn sử dụng Mac với Homebrew, bạn có thể chạy lệnh sau
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
0Với MacPorts, bạn có thể chạy lệnh sau
$ port install mongodb
Đối với các hệ thống khác có quản lý gói, chẳng hạn như Redhat, Ubuntu, Debian, CentOS và Windows, hãy xem hướng dẫn tại https. // tài liệu. mongodb. org/thủ công/cài đặt/
Sau khi bạn cài đặt MongoDB, bạn có thể khởi chạy nó trong cửa sổ bảng điều khiển bằng cách chạy lệnh sau [lệnh này cũng khởi động quy trình máy chủ]
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
2Bạn sẽ thấy đầu ra tương tự như sau
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
3Xác định một thực thể đơn giản
MongoDB là kho lưu trữ tài liệu NoSQL. Trong ví dụ này, bạn lưu trữ
$ port install mongodb1 đối tượng. Danh sách sau đây cho thấy lớp Khách hàng [trong
$ port install mongodb6]
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
6Ở đây bạn có một lớp
$ port install mongodb1 với ba thuộc tính.
$ port install mongodb8,
$ port install mongodb9 và
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
20. $ port install mongodb8 chủ yếu dành cho MongoDB sử dụng nội bộ. Bạn cũng có một hàm tạo duy nhất để điền vào các thực thể khi tạo một phiên bản mới
Trong hướng dẫn này, các getters và setters điển hình đã bị bỏ qua vì lý do ngắn gọn
$ port install mongodb8 phù hợp với tên tiêu chuẩn cho ID MongoDB, do đó, nó không yêu cầu bất kỳ chú thích đặc biệt nào để gắn thẻ cho Dữ liệu mùa xuân MongoDB
Hai thuộc tính khác,
$ port install mongodb9 và
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
20, không được chú thích. Người ta cho rằng chúng được ánh xạ tới các trường có cùng tên với chính các thuộc tính đóPhương pháp
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
25 tiện lợi in ra thông tin chi tiết về khách hàngMongoDB lưu trữ dữ liệu trong các bộ sưu tập. Dữ liệu mùa xuân MongoDB ánh xạ lớp
$ port install mongodb1 vào một bộ sưu tập có tên là
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
27. Nếu bạn muốn thay đổi tên của bộ sưu tập, bạn có thể sử dụng chú thích spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
28 của Spring Data MongoDB trên lớpTạo truy vấn đơn giản
Spring Data MongoDB tập trung vào lưu trữ dữ liệu trong MongoDB. Nó cũng kế thừa chức năng từ dự án Spring Data Commons, chẳng hạn như khả năng truy xuất truy vấn. Về cơ bản, bạn không cần học ngôn ngữ truy vấn của MongoDB. Bạn có thể viết một số phương thức và các truy vấn được viết cho bạn
Để xem điều này hoạt động như thế nào, hãy tạo giao diện kho lưu trữ truy vấn tài liệu
$ port install mongodb1, như danh sách sau [trong
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
30] cho thấy@Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
1spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
31 mở rộng giao diện spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
32 và bổ sung loại giá trị và ID mà nó hoạt động. $ port install mongodb1 và
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
34, tương ứng. Giao diện này đi kèm với nhiều thao tác, bao gồm các thao tác CRUD tiêu chuẩn [tạo, đọc, cập nhật và xóa]Bạn có thể xác định các truy vấn khác bằng cách khai báo chữ ký phương thức của chúng. Trong trường hợp này, hãy thêm
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
35, về cơ bản là tìm tài liệu loại $ port install mongodb1 và tìm tài liệu khớp với
$ port install mongodb9
Bạn cũng có
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
38, tìm danh sách những người theo họTrong một ứng dụng Java điển hình, bạn viết một lớp triển khai
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
31 và tự tạo các truy vấn. Điều khiến Spring Data MongoDB trở nên hữu ích là bạn không cần tạo triển khai này. Spring Data MongoDB tạo nó một cách nhanh chóng khi bạn chạy ứng dụngBây giờ bạn có thể kết nối ứng dụng này và xem nó trông như thế nào
Tạo một lớp ứng dụng
Spring Initializr tạo một lớp đơn giản cho ứng dụng. Danh sách sau đây hiển thị lớp mà Initializr đã tạo cho ví dụ này [trong
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
60]@Repository
public interface UserAccountRepository extends MongoRepository {
}
2spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
61 là một chú thích tiện lợi có thêm tất cả những điều sau đây
62. Gắn thẻ lớp làm nguồn định nghĩa bean cho ngữ cảnh ứng dụngspring: datasource: url: jdbc:mysql://localhost:3306/cloudsigning driver-class-name: com.mysql.cj.jdbc.Driver username: root password: jpa: hibernate: ddl-auto: create naming: implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
63. Yêu cầu Spring Boot bắt đầu thêm các bean dựa trên cài đặt đường dẫn lớp, các bean khác và các cài đặt thuộc tính khác nhau. Ví dụ: nếuspring: datasource: url: jdbc:mysql://localhost:3306/cloudsigning driver-class-name: com.mysql.cj.jdbc.Driver username: root password: jpa: hibernate: ddl-auto: create naming: implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
64 nằm trên đường dẫn lớp, chú thích này sẽ đánh dấu ứng dụng là ứng dụng web và kích hoạt các hành vi chính, chẳng hạn như thiết lập mộtspring: datasource: url: jdbc:mysql://localhost:3306/cloudsigning driver-class-name: com.mysql.cj.jdbc.Driver username: root password: jpa: hibernate: ddl-auto: create naming: implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
65spring: datasource: url: jdbc:mysql://localhost:3306/cloudsigning driver-class-name: com.mysql.cj.jdbc.Driver username: root password: jpa: hibernate: ddl-auto: create naming: implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
66. Yêu cầu Spring tìm kiếm các thành phần, cấu hình và dịch vụ khác trong góispring: datasource: url: jdbc:mysql://localhost:3306/cloudsigning driver-class-name: com.mysql.cj.jdbc.Driver username: root password: jpa: hibernate: ddl-auto: create naming: implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
67, để nó tìm bộ điều khiểnspring: datasource: url: jdbc:mysql://localhost:3306/cloudsigning driver-class-name: com.mysql.cj.jdbc.Driver username: root password: jpa: hibernate: ddl-auto: create naming: implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
Phương thức
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
68 sử dụng phương thức spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
69 của Spring Boot để khởi chạy một ứng dụng. Bạn có nhận thấy rằng không có một dòng XML nào không? . Ứng dụng web này là Java thuần 100% và bạn không phải đối phó với việc định cấu hình bất kỳ hệ thống ống nước hoặc cơ sở hạ tầng nàoSpring Boot tự động xử lý các kho lưu trữ đó miễn là chúng được bao gồm trong cùng một gói [hoặc gói phụ] của lớp
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
61 của bạn. Để kiểm soát nhiều hơn quá trình đăng ký, bạn có thể sử dụng chú thích @Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
12Theo mặc định,
@Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
12 quét gói hiện tại để tìm bất kỳ giao diện nào mở rộng một trong các giao diện kho lưu trữ của Spring Data. Bạn có thể sử dụng @Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
14 của nó để yêu cầu Spring Data MongoDB quét một gói gốc khác theo loại một cách an toàn nếu bố cục dự án của bạn có nhiều dự án và nó không tìm thấy kho lưu trữ của bạnDữ liệu mùa xuân MongoDB sử dụng
@Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
15 để thực hiện các truy vấn đằng sau các phương thức @Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
16 của bạn. Bạn có thể tự mình sử dụng mẫu cho các truy vấn phức tạp hơn, nhưng hướng dẫn này không đề cập đến điều đó. [xem Hướng dẫn tham khảo Spring Data MongoDB]Bây giờ bạn cần sửa đổi lớp đơn giản mà Initializr đã tạo cho bạn. Bạn cần thiết lập một số dữ liệu và sử dụng nó để tạo đầu ra. Danh sách sau đây cho thấy lớp
@Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
17 đã hoàn thành [trong spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
60]$ port install mongodb1
@Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
17 bao gồm một phương thức spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
68 tự động kết nối một thể hiện của spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
31. Dữ liệu mùa xuân MongoDB tự động tạo một proxy và đưa nó vào đó. Chúng tôi sử dụng spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsigning
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
jpa:
hibernate:
ddl-auto: create
naming:
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategyserver
31 thông qua một số thử nghiệm. Đầu tiên, nó lưu một số đối tượng $ port install mongodb1, thể hiện phương thức
@Repository
public interface UserAccountRepository extends MongoRepository {
}
24 và thiết lập một số dữ liệu để sử dụng. Tiếp theo, nó gọi @Repository
public interface UserAccountRepository extends MongoRepository {
}
25 để lấy tất cả các đối tượng $ port install mongodb1 từ cơ sở dữ liệu. Sau đó, nó gọi
@Repository
public interface UserAccountRepository extends MongoRepository {
}
27 để lấy một $ port install mongodb1 theo tên của cô ấy. Cuối cùng, nó gọi
@Repository
public interface UserAccountRepository extends MongoRepository {
}
29 để tìm tất cả các khách hàng có họ là $ port install mongodb10
Theo mặc định, Spring Boot cố gắng kết nối với một phiên bản MongoDB được lưu trữ cục bộ. Đọc tài liệu tham khảo để biết chi tiết về cách trỏ ứng dụng của bạn tới một phiên bản MongoDB được lưu trữ ở nơi khác
Xây dựng một JAR thực thi
Bạn có thể chạy ứng dụng từ dòng lệnh với Gradle hoặc Maven. Bạn cũng có thể tạo một tệp JAR có thể thực thi duy nhất chứa tất cả các phụ thuộc, lớp và tài nguyên cần thiết rồi chạy tệp đó. Xây dựng một jar thực thi giúp dễ dàng vận chuyển, tạo phiên bản và triển khai dịch vụ dưới dạng một ứng dụng trong suốt vòng đời phát triển, trên các môi trường khác nhau, v.v.
Nếu bạn sử dụng Gradle, bạn có thể chạy ứng dụng bằng cách sử dụng
$ port install mongodb11. Ngoài ra, bạn có thể tạo tệp JAR bằng cách sử dụng
$ port install mongodb12 rồi chạy tệp JAR, như sau
$ port install mongodb6
Nếu bạn sử dụng Maven, bạn có thể chạy ứng dụng bằng cách sử dụng
$ port install mongodb13. Ngoài ra, bạn có thể xây dựng tệp JAR bằng
$ port install mongodb14 rồi chạy tệp JAR như sau
$ port install mongodb9
Các bước được mô tả ở đây tạo một JAR có thể chạy được. Bạn cũng có thể tạo tệp WAR cổ điển
Khi
@Entity
@Document[value = "user"]
public class UserAccount {
@Id
private Integer id;
private String userName;
17 triển khai $ port install mongodb16, phương thức
$ port install mongodb17 sẽ tự động được gọi khi khởi động Spring Boot. Bạn sẽ thấy một cái gì đó giống như sau [với đầu ra khác, chẳng hạn như truy vấn]
$ port install mongodb0
Tóm lược
Xin chúc mừng. Bạn đã thiết lập máy chủ MongoDB và viết một ứng dụng đơn giản sử dụng Spring Data MongoDB để lưu các đối tượng và tìm nạp chúng từ cơ sở dữ liệu, tất cả mà không cần viết triển khai kho lưu trữ cụ thể
Nếu bạn muốn hiển thị các kho lưu trữ MongoDB với giao diện người dùng RESTful dựa trên hypermedia với ít nỗ lực, hãy đọc Truy cập dữ liệu MongoDB bằng REST
Xem thêm
Các hướng dẫn sau đây cũng có thể hữu ích
Truy cập dữ liệu MongoDB bằng REST
Truy cập dữ liệu với JPA
Truy cập dữ liệu bằng Gemfire
Truy cập dữ liệu với MySQL
Truy cập dữ liệu với Neo4j
Bạn muốn viết một hướng dẫn mới hoặc đóng góp cho một hướng dẫn hiện có?
Tất cả các hướng dẫn được phát hành với giấy phép ASLv2 cho mã và giấy phép Commons sáng tạo Attribution, NoDerivatives cho văn bản