Trình điều khiển mongodb-đồng bộ hóa vs trình điều khiển mongo-java
Với 2 cách kết nối ở trên, các bạn sẽ thao tác với cơ sở dữ liệu thông qua BSON của mongo cung cấp. Nghĩa là bạn phải chuyển đổi giữa lớp Java và BSON để thao tác với mongoDB. Thực tế công việc này khá là bất tiện, nhất là những Object Java với rất nhiều thuộc tính sẽ cực kỳ tốn thời gian Show
Tôi sẽ giới thiệu các bạn kết nối MongoDB mà không cần phải chuyển Object Java sang Object của MongoDB Đầu tiên, hãy tạo một ConnectionString
Tiếp theo, cần cấu hình CodecRegistry để xử lý sự cố chuyển đổi giữa POJO và BSON
Chúng ta cần thêm DefaultCodecRegistry, cái mà có thể xử lý tất cả các kiểu của Java như Boolean, Double, String, BigDecimal, Java là một trong những ngôn ngữ lập trình biến phổ biến nhất trong cộng đồng MongoDB. Đối với người dùng mới, điều quan trọng là cung cấp một cái nhìn tổng quan về cách làm việc với trình điều khiển Java MongoDB và cách sử dụng MongoDB làm nhà phát triển Java Trong bài đăng này, trước khi các nhà phát triển Java/JVM mới đến với MongoDB, chúng tôi sẽ cung cấp cho bạn một hướng dẫn về cách bắt đầu, bao gồm
Cài đặtThiết lập các thuộc tính của bạn Connected connectionBộ sưu tập và tài liệu là gì? Những điều cơ bản của công việc viết và đọc từ cơ sở dữ liệuTổng quan về một số thư viện JVM Các hướng dẫn cài đặt cho MongoDB được ghi lại rộng rãi, vì vậy tôi sẽ không lặp lại bất kỳ điều gì ở đây. Nếu bạn muốn làm theo hướng dẫn bắt đầu này, bạn sẽ muốn tải xuống phiên bản phù hợp của MongoDB và giải nén/cài đặt nó. Tại thời điểm viết, phiên bản mới nhất của MongoDB là 2. 6. 3, đó là phiên bản tôi sẽ sử dụng
Một lưu ý về bảo mật
Trong một môi trường sản xuất thực tế, tất nhiên bạn sẽ muốn xem xét xác thực. Đây là một cái gì đó mà MongoDB thực sự nghiêm túc và có một phần tài liệu về bảo mật. Nhưng với mục đích của cuộc nói chuyện này, tôi sẽ chọn rằng bạn đã làm công việc đó hoặc bạn đang chạy trong chế độ tin cậy đáng tin cậy của Cameron (tức là bạn đang ở trong môi trường phát triển không mở cửa cho công ty của họ)
Nhìn xung quanh Khi bạn đã cài đặt MongoDB và bắt đầu (một quá trình chỉ mất vài phút), bạn có thể kết nối với vỏ MongoDB. Hầu hết các tài liệu kỹ thuật MongoDB đều được viết cho shell, vì vậy, nó luôn hữu ích để biết cách truy cập nó và cách sử dụng nó để giải quyết sự cố hoặc giải pháp nguyên mẫuKhi bạn kết nối, bạn sẽ thấy một cái gì đó giống như Vì bạn có thể ở trong bảng điều khiển, hãy Lừa lấy nó cho một vòng quay. Đầu tiên, chúng tôi sẽ xem xét tất cả các cơ sở dữ liệu có ngay bây giờ Giả sử đây là một cài đặt sạch, không nên xem nhiềuĐiều đó thật tuyệt vời, nhưng bạn có thể thấy có rất nhiều tài liệu về cách chơi với MongoDB từ vỏ. Shell là một môi trường thực sự tuyệt vời để thử truy vấn và xem xét mọi thứ từ điểm quan trọng của máy chủ. Tuy nhiên, tôi đã hứa với bạn Java, vì vậy chúng tôi sẽ bước ra khỏi vỏ và tiếp tục kết nối qua Java
Start with JavaĐầu tiên, bạn sẽ muốn thiết lập dự án/IDE của mình để sử dụng trình điều khiển Java MongoDB. Ngày nay, IDE có xu hướng chọn các thuộc tính phụ thuộc thông tin chính thông qua cấu hình Gradle hoặc Maven của bạn, vì vậy tôi sẽ chỉ bao gồm các cấu hình thứ này
Tại thời điểm viết bài, phiên bản mới nhất của trình điều khiển Java là 2. 12. 3 - this thing is design to active with line MongoDB 2. 6 Good nghiệp Bạn cần phải thêm các phần sau vào các thuộc tính của mình trong Build. lớpmaven Đối với Maven, bạn sẽ muốn
Ngoài ra, nếu bạn thực sự là trường học cũ và thích duy trì sự phụ thuộc của bạn một cách khó khăn, bạn luôn có thể tải xuống tệp jar Nếu bạn không có dự án mà bạn muốn thử với MongoDB, tôi đã tạo ra một loạt các bài kiểm tra đơn vị trên GitHub mà bạn có thể sử dụng để cảm nhận khi làm việc với MongoDB và Java ________số 8Connected connection through Java Giả sử bạn đã giải quyết các thuộc tính của mình và bạn đã thiết lập dự án của mình, bạn đã sẵn sàng kết nối với MongoDB từ ứng dụng Java của bạn Vì MongoDB là tài liệu cơ sở, bạn không thể ngạc nhiên khi biết rằng bạn không kết nối với nó thông qua các phương pháp DB truyền thống/quan hệ DB truyền thống như JDBC. Nhưng nó rất đơn giản như nhau The end of the end you know. Bạn muốn ứng dụng của mình tắt các kết nối với MongoDB khi nó chạy hoàn tất. Luôn đảm bảo ứng dụng hoặc máy chủ web bạn gọi 1 khi tắtHãy thử kết nối với MongoDB bằng cách kiểm tra trong bài tập1ConnectingTest để vượt qua Bàn của tôi ở đâu?MongoDB không có bảng, hàng, cột, tham gia, v. v. Có một số khái niệm mới để học khi bạn sử dụng nó, nhưng không có gì quá khó Mặc dù bạn vẫn có khái niệm về cơ sở dữ liệu, các tài liệu (mà chúng tôi sẽ trình bày chi tiết hơn sau này) được lưu trữ trong các bộ sưu tập, thay vì cơ sở dữ liệu của bạn được tạo thành từ . Nhưng nó có thể hữu ích khi nghĩ về các tài liệu như hàng và bộ sưu tập như bảng trong cơ sở dữ liệu truyền thống. And collection could have the index as you wish Select basic and collectionBạn sẽ muốn xác định cơ sở dữ liệu và bộ sưu tập mà bạn sử dụng trong ứng dụng Java của mình. Nếu bạn nhớ, một vài phần trước đây, chúng tôi đã sử dụng vỏ MongoDB để hiển thị cơ sở dữ liệu trong ví dụ MongoDB của bạn và bạn đã có 2 và 3Tạo và nhận cơ sở dữ liệu hoặc bộ sưu tập cực kỳ dễ dàng trong MongoDB 0You can instead 4 bằng bất kỳ tên nào của cơ sở dữ liệu của bạn. Nếu cơ sở dữ liệu không tồn tại, nó sẽ được tạo tự động ngay lần đầu tiên bạn thêm bất kỳ thứ gì vào đó, làm điều đó, không cần kiểm tra null hoặc lý do ngoại lệ xử lý trên cơ sở dữ liệu không tồn tạiNhận bộ sưu tập bạn muốn từ cơ sở dữ liệu cũng rất đơn giản 2Một lần nữa, thay thế 5 bằng bất cứ điều gì mà bộ sưu tập của bạn được gọiNếu bạn chơi cùng với mã kiểm tra, giờ đây bạn đã biết đủ để có được các bài kiểm tra trong tập tin2MongoclientTest để vượt qua. Giới thiệu về các tài liệuMột điều gì đó, hy vọng, trở nên rõ ràng với bạn khi bạn làm việc thông qua các ví dụ trong blog này, là MongoDB khác với các cơ sở dữ liệu quan hệ truyền thống mà bạn đã sử dụng. Như tôi đã đề cập, có các bộ sưu tập, thay vì bảng và tài liệu, thay vì các hàng và cột Các tài liệu linh hoạt hơn nhiều so với một hàng truyền thống, bởi vì bạn có một lược đồ năng động hơn là một lược đồ được thi hành. Bạn có thể phát triển tài liệu theo thời gian mà không phải chịu chi phí di chuyển lược đồ và các tập lệnh cập nhật màu nhạt. Nhưng tôi đã vượt lên trước mình Mặc dù các tài liệu không lồng nhau trông giống như các bảng, cột và hàng mà bạn đã từng sử dụng, nhưng chúng sẽ trông quen thuộc với bạn nếu bạn đã làm bất cứ điều gì thậm chí giống như JSON từ xa. This is a ví dụ 4Có một số điều thú vị cần lưu ý
Bạn có thể tìm hiểu thêm thông tin chi tiết về tài liệu trong tài liệu Tạo tài liệu và lưu nó vào cơ sở dữ liệuTrong Java, nếu bạn muốn tạo một tài liệu như ở trên, bạn sẽ làm một cái gì đó như vậy 0Tại thời điểm này, rất dễ dàng để lưu nó vào cơ sở dữ liệu của bạn 1Lưu ý rằng ba dòng đầu tiên được thiết lập và bạn không cần phải khởi động lại những thứ đó mỗi lần Bây giờ nếu chúng ta nhìn vào bên trong MongoDB, chúng ta có thể thấy rằng cơ sở dữ liệu đã được tạo ra 2Chúng tôi cũng có thể xem bộ sưu tập cũng được tạo ra 3Cuối cùng, chúng ta có thể nhìn thấy người của chúng ta, người Jo Jo, đã được thêm vào 4Là một nhà phát triển Java, bạn có thể thấy những điểm tương đồng giữa tài liệu được lưu trữ trong MongoDB và miền đối tượng của bạn. Trong mã của bạn, người đó có thể sẽ là một người lớp, với các trường nguyên thủy đơn giản, trường mảng và địa chỉ Vì vậy, thay vì xây dựng 8 của bạn theo cách thủ công như ví dụ trên, bạn có nhiều khả năng sẽ chuyển miền đối tượng của mình thành một DBObject. Tốt nhất là không có lớp DBObject dành riêng cho MongoDB trong các đối tượng tên miền của bạn, vì vậy bạn có thể muốn tạo một PersonAdaptor chuyển đổi đối tượng miền của bạn thành một DBObject. 5Như trước đây, khi bạn có DBObject, bạn có thể lưu cái này vào MongoDB 6Bây giờ, bạn đã có tất cả những điều cơ bản để có được các bài kiểm tra trong bài 3InsertTest để vượt qua Lấy lại tài liệuBây giờ bạn đã lưu một người vào cơ sở dữ liệu và chúng tôi đã thấy nó trong cơ sở dữ liệu bằng cách sử dụng vỏ, bạn sẽ muốn đưa nó trở lại trong ứng dụng Java của bạn. Trong bài đăng này, chúng tôi sẽ bao gồm những điều cơ bản về việc truy xuất một tài liệu - trong một bài đăng sau đó, chúng tôi sẽ trình bày các truy vấn phức tạp hơn Bạn có thể đoán rằng MongoDB là tài liệu cơ sở dữ liệu mà chúng tôi sẽ không sử dụng SQL để truy vấn. Thay vào đó, chúng tôi truy vấn bằng ví dụ, xây dựng một tài liệu trông giống như tài liệu mà chúng tôi đang tìm kiếm. Vì vậy, nếu chúng tôi muốn tìm kiếm người mà chúng tôi đã lưu vào cơ sở dữ liệu, thì Jo Jo Bloggs, chúng tôi nhớ rằng trường 9 có giá trị của Jo Jo, và chúng tôi tạo ra một tài liệu phù hợp với hình dạng này. 7Như bạn có thể thấy, phương thức 0 return a concursor for results. Vì 9 cần phải là duy nhất, chúng tôi biết rằng nếu chúng tôi tìm kiếm một tài liệu với ID này, chúng tôi sẽ chỉ tìm thấy một tài liệu và nó sẽ là tài liệu chúng tôi muốn. 8Trước đó, chúng tôi đã thấy rằng các tài liệu đơn giản chỉ được tạo thành từ các cặp tên/giá trị, trong đó giá trị có thể là bất cứ thứ gì từ một chuỗi đơn giản hoặc nguyên thủy, cho đến các loại phức tạp. . Do đó, trong Java, chúng ta có thể ít coi DBObject là 2. Vì vậy, nếu chúng tôi muốn xem xét các trường của tài liệu mà chúng tôi đã lấy lại từ cơ sở dữ liệu, chúng tôi có thể nhận được chúng với. 9Lưu ý rằng bạn cần phải chuyển giá trị lên 3, because biên dịch biên dịch chỉ biết rằng nó có một 4Nếu bạn vẫn đang chơi cùng với ví dụ mã, thì bây giờ bạn đã sẵn sàng để thực hiện tất cả các bài kiểm tra trong bài tập Tổng quan về các thư viện JVMCho đến nay tôi chỉ cho bạn những điều cơ bản của trình điều khiển Java thức chính thức, nhưng bạn sẽ nhận thấy rằng nó khá thấp-bạn phải thực hiện nhiều thứ ra khỏi các đối tượng miền của mình và đưa chúng vào cấu hình DBObjects . Nếu đây là mức độ kiểm soát mà bạn muốn, thì trình điều khiển Java sẽ làm cho điều này trở nên dễ dàng đối với bạn. Nhưng nếu có vẻ như đây là công việc làm thêm mà bạn không nên làm, thì có rất nhiều lựa chọn khác cho bạn Các công cụ mà tôi sắp mô tả đều sử dụng trình điều khiển Java MongoDB ở cốt lõi của chúng để tương tác với MongoDB. Họ cung cấp một sự sống còn cao cấp để chuyển đổi các miền đối tượng của bạn thành các tài liệu MongoDB, đồng thời cung cấp cho bạn một cách để đến trình điều khiển cơ cũng như trong trường hợp bạn cần sử dụng nó MorphiaMorphia là một ODM thực sự nhẹ (Mapper tài liệu đối tượng), vì vậy, nó tương tự như các Orms như Hibernate. Các tài liệu có thể có định dạng khá giống với các đối tượng tên miền Java của bạn, vì vậy ánh xạ này có thể tự động, nhưng Morphia cho phép bạn hướng bản đồ đi đúng hướng. Morphia là nguồn mở và có những người đóng góp từ MongoDB. Có thể tìm thấy mã mẫu và tài liệu ở đây Dữ liệu mùa xuânODM thường được sử dụng khác là lò xo dữ liệu. Điều này hỗ trợ cơ sở dữ liệu quan hệ và phi quan hệ thống truyền thông, bao gồm MongoDB. Nếu bạn đã sử dụng Spring trong ứng dụng của mình, thì đây sẽ là một cách quen thuộc để làm việc Như mọi khi với các dự án mùa xuân, có rất nhiều tài liệu thực sự tuyệt vời, bao gồm cả hướng dẫn bắt đầu với mã ví dụ MongojackNếu bạn đang làm việc với các dịch vụ web hoặc một cái gì đó khác hỗ trợ JSON và bạn đang sử dụng Jackson để làm việc với dữ liệu này, có thể có vẻ là một sự lãng phí. Nhưng Mongojack có thể làm cho công việc của bạn dễ dàng hơn, vì nó được thiết kế để ánh xạ các đối tượng JSON trực tiếp vào MongoDB. Vui lòng xem mã ví dụ và tài liệu JongoĐây là một ODM khác có trụ sở tại Jackson, nhưng cung cấp thêm một điều thú vị dưới dạng truy vấn Hỗ trợ theo cách bạn viết chúng vào vỏ. Tài liệu và ví dụ có sẵn trên trang web Grails MongoDB GormKhung ứng dụng web Grails cũng hỗ trợ ánh xạ quan hệ đối tượng (GORM) của riêng mình, bao gồm hỗ trợ cho MongoDB. Add document for this plugin may be found at here CasbahĐây là một ODM giống như các công cụ khác đã được cập nhật, nhưng người lái xe Scala được hỗ trợ chính thức cho MongoDB. Giống như các thư viện trước đó, nó sử dụng trình điều khiển Java MongoDB bên dưới, nhưng nó cung cấp API Scala cho các nhà phát triển ứng dụng để làm việc. Nếu bạn thích làm việc với Scala nhưng đang tìm kiếm một giải pháp không đồng bộ, hãy xem xét ReactiveMongo, một trình điều khiển được hỗ trợ cộng đồng cung cấp các hoạt động không đồng bộ và không chặn Các thư viện và công cụ khácĐiều này khác với một danh sách lớn và tôi xin lỗi nếu tôi đã để lại một yêu thích. Nhưng chúng tôi đã tổng hợp một danh sách nhiều thư viện khác nhau cho JVM, bao gồm các dự án cộng đồng và các trình điều khiển chính thức được hỗ trợ Kết luậnChúng tôi đã đề cập đến những điều kiện cơ bản của công việc sử dụng MongoDB từ Java - chúng tôi đã chạm vào MongoDB là gì và bạn có thể tìm hiểu nhiều thông tin chi tiết hơn về nó từ hướng dẫn; Nếu bạn bắt đầu chơi với mã thử nghiệm, bạn có thể tìm thấy nó trong kho GitHub này. Và nếu bạn trở nên tuyệt vời và trông đủ khó khăn, bạn cũng sẽ tìm thấy câu trả lời ở đó Cuối cùng, có nhiều ví dụ về việc sử dụng trình điều khiển Java trong khi lưu diễn đàn nhanh và có mã ví dụ trong GitHub, bao gồm các ví dụ để xác thực Nếu bạn muốn tìm hiểu thêm, hãy thử từ khóa học trực tuyến 7 tuần của chúng tôi, phần giới thiệu của MongoDB và Java Hãy thử nó và hy vọng bạn sẽ thấy việc sử dụng MongoDB từ Java dễ dàng như thế nào Đọc phần II Nếu bạn đang tìm kiếm nhiều cách hơn các nguồn lực để học MongoDB, hãy xem bộ bắt đầu của chúng tôi Bắt đầu với MongoDB AtlasChạy MongoDB trong đám mây miễn phí với MongoDB Atlas. Không cần thẻ tín hiệuLàm thế nào để MongoDB lưu trữ ngày trên Java?Javamadesoeasy. com (JMSE). . 1. 1) Chèn ngày bằng MongoDB bằng ngày mới () 1. 2) Chèn ngày trong MongoDB bằng isodate () 1. 3) Chèn ngày tùy chỉnh/người dùng đã được xác định trong MongoDB bằng ngày mới () 1. 4) Chèn ngày tùy chỉnh/người dùng đã được xác định trong MongoDB bằng isodate () Làm thế nào để chúng ta kết nối với MongoDB?Làm thế nào để kết nối với MongoDB. . Tạo cơ sở dữ liệu trên MongoDB. Connected with shell MongoDB. Tạo cơ sở dữ liệu "TestDB". Tạo bộ sưu tập tập tin "user" và thêm nó vào "TestDB" User setting setting. Connected with quản trị viên DB. Tạo quyền quản trị người dùng. Tạo kết nối với MongoDB trên CPD. Set device information Làm thế nào để kết nối MongoDB với Atlas với Java?Bắt đầu nhanh. . Giới thiệu Project design your project Cài đặt Bộ phát triển Java (JDK) Create project Thêm MongoDB làm phụ thuộc Tạo một cụm từ MongoDB Thiết lập một cụm từ miễn phí trong Atlas Truy vấn cụm MongoDB của bạn từ ứng dụng của bạn JDBC có điều khiển JDBC cho MongoDB không?Trình điều khiển MongoDB Atlas SQL JDBC cung cấp kết nối SQL cho MongoDB Atlas cho các ứng dụng khách hàng được phát triển trong Java. Xem tài liệu Atlas SQL để biết thêm thông tin. MongoDB Atlas SQL JDBC là trình điều khiển JDBC Type 4 tương thích với JDBC 4 đặc tả. 2 |