데이터 베이스 MySQL 튜토리얼 使用Java操作MongoDB

使用Java操作MongoDB

Jun 07, 2016 pm 04:33 PM
java mongodb 사용 작동하다

HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序。 首先,要通过Java操作Mongodb,必须先下载Mongodb的Java驱动程序,可以在这里下载。 新建立一个Java工程,将下载的驱动程序放在库

HelloWorld程序

  学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序。

  首先,要通过Java操作Mongodb,必须先下载Mongodb的Java驱动程序,可以在这里下载。

  新建立一个Java工程,将下载的驱动程序放在库文件路径下,程序代码如下:

package?com.mkyong.core;

import?java.net.UnknownHostException;

import?com.mongodb.BasicDBObject;

import?com.mongodb.DB;

import?com.mongodb.DBCollection;

import?com.mongodb.DBCursor;

import?com.mongodb.Mongo;

import?com.mongodb.MongoException;



/**

* Java + MongoDB Hello world Example

*?

*/

public?class?App {

public?static?void?main(String[] args) {

try?{

//实例化Mongo对象,连接27017端口

????????????Mongo mongo?=?new?Mongo(“localhost”,?27017);

//连接名为yourdb的数据库,假如数据库不存在的话,mongodb会自动建立

????????????DB db?=?mongo.getDB(“yourdb”);

//?Get collection from MongoDB, database named “yourDB”

//从Mongodb中获得名为yourColleection的数据集合,如果该数据集合不存在,Mongodb会为其新建立

????????????DBCollection collection?=?db.getCollection(“yourCollection”);

//?使用BasicDBObject对象创建一个mongodb的document,并给予赋值。

????????????BasicDBObject document?=?new?BasicDBObject();

document.put(“id”,?1001);

document.put(“msg”,?”hello world mongoDB in Java”);

//将新建立的document保存到collection中去

????????????collection.insert(document);

//?创建要查询的document

????????????BasicDBObject searchQuery?=?new?BasicDBObject();

searchQuery.put(“id”,?1001);

//?使用collection的find方法查找document

????????????DBCursor cursor?=?collection.find(searchQuery);

//循环输出结果

????????????while?(cursor.hasNext()) {

System.out.println(cursor.next());

}

System.out.println(“Done”);?

}?catch?(UnknownHostException e) {

e.printStackTrace();

}?catch?(MongoException e) {

e.printStackTrace();

}

}

}

  最后,输出的结果为:

{?”_id”?: {?”$oid”?:?”4dbe5596dceace565d229dc3″} ,?

“id”?:?1001?,?”msg”?:?”hello world mongoDB in Java”}

Done

 

  在上面的例子中,演示了使用Java对Mongodb操作的重要方法和步骤,首先通过创建Mongodb对象,传入构造函数的参数是Mongodb的数据库所在地址和端口,然后使用

  getDB方法获得要连接的数据库名,使用getCollection获得数据集合的名,然后通过新建立BasicDBObject对象去建立document,最后通过collection的insert方法,将建立的document保存到数据库中去。而collection的find方法,则是用来在数据库中查找document。

  从Mongodb中获得collection数据集

  在Mongodb中,可以通过如下方法获得数据库中的collection:

  DBCollection collection?=?db.getCollection(“yourCollection”);

  如果你不知道collection的名称,可以使用db.getCollectionNames()获得集合,然后再遍历,如下:

  DB db?=?mongo.getDB(“yourdb”);

Set collections?=?db.getCollectionNames();

for(String collectionName : collections){

System.out.println(collectionName);

}

  完成的一个例子如下:

package?com.mkyong.core;

import?java.net.UnknownHostException;

import?java.util.Set;

import?com.mongodb.DB;

import?com.mongodb.DBCollection;

import?com.mongodb.Mongo;

import?com.mongodb.MongoException;

/**

* Java : Get collection from MongoDB

*?

*/

public?class?GetCollectionApp {

public?static?void?main(String[] args) {

try?{

Mongo mongo?=?new?Mongo(“localhost”,?27017);

DB db?=?mongo.getDB(“yourdb”);

Set?collections?=?db.getCollectionNames();

for?(String collectionName : collections) {

System.out.println(collectionName);

}

DBCollection collection?=?db.getCollection(“yourCollection”);

System.out.println(collection.toString());

System.out.println(“Done”);



}?catch?(UnknownHostException e) {

e.printStackTrace();

}?catch?(MongoException e) {

e.printStackTrace();

}

}

}

  Mongodb中如何插入数据

  下面,讲解下如何使用4种方式,将JSON数据插入到Mongodb中去。首先我们准备JSON

  格式的数据,如下:

  {

“database”?:?”mkyongDB”,

“table”?:?”hosting”,

“detail”?:

{

records :?99,

index :?”vps_index1″,

active :?”true”

}

}

}

  我们希望用不同的方式,通过JAVA代码向Mongodb插入以上格式的JSON数据

  第一种方法,是使用BasicDBObject,方法如下代码所示:

BasicDBObject document?=?new?BasicDBObject();

document.put(“database”,?”mkyongDB”);

document.put(“table”,?”hosting”);

BasicDBObject documentDetail?=?new?BasicDBObject();

documentDetail.put(“records”,?”99″);

documentDetail.put(“index”,?”vps_index1″);

documentDetail.put(“active”,?”true”);

document.put(“detail”, documentDetail);

collection.insert(document);

  第二种方法是使用BasicDBObjectBuilder对象,如下代码所示:

  BasicDBObjectBuilder documentBuilder?=?BasicDBObjectBuilder.start()

.add(“database”,?”mkyongDB”)

.add(“table”,?”hosting”);

BasicDBObjectBuilder documentBuilderDetail?=?BasicDBObjectBuilder.start()

.add(“records”,?”99″)

.add(“index”,?”vps_index1″)

.add(“active”,?”true”);

documentBuilder.add(“detail”, documentBuilderDetail.get());

collection.insert(documentBuilder.get());

  第三种方法是使用Map对象,代码如下:

  Map documentMap?=new?HashMap();

documentMap.put(“database”,?”mkyongDB”);

documentMap.put(“table”,?”hosting”);

Map documentMapDetail?=new?HashMap();

documentMapDetail.put(“records”,?”99″);

documentMapDetail.put(“index”,?”vps_index1″);

documentMapDetail.put(“active”,?”true”);

documentMap.put(“detail”, documentMapDetail);

collection.insert(new?BasicDBObject(documentMap));

  第四种方法,也就是最简单的,即直接插入JSON格式数据

  String json?=”{‘database’ : ‘mkyongDB’,'table’ : ‘hosting’,”+

“‘detail’ : {‘records’ : 99, ‘index’ : ‘vps_index1′, ‘active’ : ‘true’}}}”;

DBObject dbObject?=(DBObject)JSON.parse(json);

collection.insert(dbObject);

  这里使用了JSON的parse方法,将解析后的JSON字符串转变为DBObject对象后再直接插入到collection中去。

  完整的代码如下所示:

  packagecom.mkyong.core;

importjava.net.UnknownHostException;

importjava.util.HashMap;

importjava.util.Map;

importcom.mongodb.BasicDBObject;

importcom.mongodb.BasicDBObjectBuilder;

importcom.mongodb.DB;

importcom.mongodb.DBCollection;

importcom.mongodb.DBCursor;

importcom.mongodb.DBObject;

importcom.mongodb.Mongo;

importcom.mongodb.MongoException;

importcom.mongodb.util.JSON;

/**

* Java MongoDB : Insert a Document

*

*/

publicclass InsertDocumentApp {

publicstaticvoid main(String[] args){

try{

Mongo mongo?=new?Mongo(“localhost”,?27017);

DB db?=?mongo.getDB(“yourdb”);

//?get a single collection

  DBCollection collection?=?db.getCollection(“dummyColl”);

//?BasicDBObject example

  System.out.println(“BasicDBObject example…”);

BasicDBObject document?=new?BasicDBObject();

document.put(“database”,?”mkyongDB”);

document.put(“table”,?”hosting”);

BasicDBObject documentDetail?=new?BasicDBObject();

documentDetail.put(“records”,?”99″);

documentDetail.put(“index”,?”vps_index1″);

documentDetail.put(“active”,?”true”);

document.put(“detail”, documentDetail);

collection.insert(document);

DBCursor cursorDoc?=?collection.find();

while(cursorDoc.hasNext()){

System.out.println(cursorDoc.next());

}

collection.remove(new?BasicDBObject());

//?BasicDBObjectBuilder example

  System.out.println(“BasicDBObjectBuilder example…”);

BasicDBObjectBuilder documentBuilder?=?BasicDBObjectBuilder.start()

.add(“database”,?”mkyongDB”)

.add(“table”,?”hosting”);

BasicDBObjectBuilder documentBuilderDetail?=?BasicDBObjectBuilder.start()

.add(“records”,?”99″)

.add(“index”,?”vps_index1″)

.add(“active”,?”true”);

documentBuilder.add(“detail”, documentBuilderDetail.get());

collection.insert(documentBuilder.get());

DBCursor cursorDocBuilder?=?collection.find();

while(cursorDocBuilder.hasNext()){

System.out.println(cursorDocBuilder.next());

}

collection.remove(new?BasicDBObject());

//?Map example

  System.out.println(“Map example…”);

Map documentMap?=new?HashMap();

documentMap.put(“database”,?”mkyongDB”);

documentMap.put(“table”,?”hosting”);

Map documentMapDetail?=new?HashMap();

documentMapDetail.put(“records”,?”99″);

documentMapDetail.put(“index”,?”vps_index1″);

documentMapDetail.put(“active”,?”true”);

documentMap.put(“detail”, documentMapDetail);

collection.insert(new?BasicDBObject(documentMap));

DBCursor cursorDocMap?=?collection.find();

while(cursorDocMap.hasNext()){

System.out.println(cursorDocMap.next());

}

collection.remove(new?BasicDBObject());

//?JSON parse example

  System.out.println(“JSON parse example…”);

String json?=”{‘database’ : ‘mkyongDB’,'table’ : ‘hosting’,”+

“‘detail’ : {‘records’ : 99, ‘index’ : ‘vps_index1′, ‘active’ : ‘true’}}}”;

DBObject dbObject?=(DBObject)JSON.parse(json);

collection.insert(dbObject);

DBCursor cursorDocJSON?=?collection.find();

while(cursorDocJSON.hasNext()){

System.out.println(cursorDocJSON.next());

}

collection.remove(new?BasicDBObject());

}catch(UnknownHostException e){

e.printStackTrace();

}catch(MongoException e){

e.printStackTrace();

}

}

}

  更新Document

  假设如下的JSON格式的数据已经保存到Mongodb中去了,现在要更新相关的数据。

  {“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostA”?,?”type”?:?”vps”?,?”clients”?:?1000}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostB”?,?”type”?:?”dedicated server”?,?”clients”?:?100}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostC”?,?”type”?:?”vps”?,?”clients”?:?900}

?  假设现在要将hosting中值为hostB的进行更新,则可以使用如下的方法:

  BasicDBObject newDocument?=new?BasicDBObject();

newDocument.put(“hosting”,?”hostB”);

newDocument.put(“type”,?”shared host”);

newDocument.put(“clients”,?111);

collection.update(new?BasicDBObject().append(“hosting”,?”hostB”), newDocument);

?  可以看到,这里依然使用了BasicDBObject对象,并为其赋值了新的值后,然后使用collection的update方法,即可更新该对象。

  更新后的输出如下:

  {“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostA”?,?”type”?:?”vps”?,?”clients”?:?1000}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostB”?,?”type”?:?”shared host”?,?”clients”?:?111}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostC”?,?”type”?:?”vps”?,?”clients”?:?900}

?  另外,还可以使用mongodb中的$inc修饰符号去对某个值进行更新,比如,要将hosting值为hostB的document的clients的值得更新为199(即100+99=199),可以这样:

  BasicDBObject newDocument?=new?BasicDBObject().append(“$inc”,

new?BasicDBObject().append(“clients”,?99));

collection.update(new?BasicDBObject().append(“hosting”,?”hostB”), newDocument);

?  则输出如下:

  {“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostA”?,?”type”?:?”vps”?,?”clients”?:?1000}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostB”?,?”type”?:?”dedicated server”?,?”clients”?:?199}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostC”?,?”type”?:?”vps”?,?”clients”?:?900}

?  接下来,讲解$set修饰符的使用。比如要把hosting中值为hostA的document中的

  type的值进行修改,则可以如下实现:

  BasicDBObject newDocument3?=new?BasicDBObject().append(“$set”,

new?BasicDBObject().append(“type”,?”dedicated server”));

collection.update(new?BasicDBObject().append(“hosting”,?”hostA”), newDocument3);

?  则输出如下,把type的值从vps改为dedicated server:

  {“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostB”?,?”type”?:?”dedicated server”?,?”clients”?:?100}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostC”?,?”type”?:?”vps”?,?”clients”?:?900}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostA”?,?”clients”?:?1000?,?”type”?:?”dedicated server”}

?  要注意的是,如果不使用$set的修饰符,而只是如下代码:

  BasicDBObject newDocument3?=new?BasicDBObject().append(“type”,?”dedicated server”);

collection.update(new?BasicDBObject().append(“hosting”,?”hostA”), newDocument3);

?  则会将所有的三个document的type类型都改为dedicated server了,因此要使用$set以更新特定的document的特定的值。

  如果要更新多个document中相同的值,可以使用$multi,比如,要把所有vps为type的document,将它们的clients的值更新为888,可以如下实现:

  BasicDBObject updateQuery?=new?BasicDBObject().append(“$set”,

new?BasicDBObject().append(“clients”,?”888″));

collection.update(new?BasicDBObject().append(“type”,?”vps”), updateQuery,?false,?true);

  输出如下:

  {“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostA”?,?”clients”?:?”888″?,?”type”?:?”vps”}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostB”?,?”type”?:?”dedicated server”?,?”clients”?:?100}

{“_id”?: {“$oid”?:?”x”} ,?”hosting”?:?”hostC”?,?”clients”?:?”888″?,?”type”?:?”vps”}

  最后,还是给出更新document的完整例子:

  package?com.liao;

import?java.net.UnknownHostException;

import?com.mongodb.BasicDBObject;

import?com.mongodb.DB;

import?com.mongodb.DBCollection;

import?com.mongodb.DBCursor;

import?com.mongodb.Mongo;

import?com.mongodb.MongoException;

publicclass UpdateDocumentApp {

publicstaticvoid printAllDocuments(DBCollection collection){

DBCursor cursor?=?collection.find();

while?(cursor.hasNext()) {

System.out.println(cursor.next());

}

}

publicstaticvoid removeAllDocuments(DBCollection collection){

collection.remove(new?BasicDBObject());

}

publicstaticvoid insertDummyDocuments(DBCollection collection){

BasicDBObject document?=?new?BasicDBObject();

document.put(“hosting”,?”hostA”);

document.put(“type”,?”vps”);

document.put(“clients”,?1000);

BasicDBObject document2?=?new?BasicDBObject();

document2.put(“hosting”,?”hostB”);

document2.put(“type”,?”dedicated server”);

document2.put(“clients”,?100);

BasicDBObject document3?=?new?BasicDBObject();

document3.put(“hosting”,?”hostC”);

document3.put(“type”,?”vps”);

document3.put(“clients”,?900);

collection.insert(document);

collection.insert(document2);

collection.insert(document3);

}

publicstaticvoid main(String[] args) {

try?{

Mongo mongo?=?new?Mongo(“localhost”,?27017);

DB db?=?mongo.getDB(“yourdb”);

DBCollection collection?=?db.getCollection(“dummyColl”);

System.out.println(“Testing 1…”);

insertDummyDocuments(collection);

//find hosting = hostB, and update it with new document

  BasicDBObject newDocument?=?new?BasicDBObject();

newDocument.put(“hosting”,?”hostB”);

newDocument.put(“type”,?”shared host”);

newDocument.put(“clients”,?111);

collection.update(new?BasicDBObject().append(“hosting”,?”hostB”), newDocument);

printAllDocuments(collection);

removeAllDocuments(collection);

System.out.println(“Testing 2…”);

insertDummyDocuments(collection);

BasicDBObject newDocument2?=?new?BasicDBObject().append(“$inc”,

new?BasicDBObject().append(“clients”,?99));

collection.update(new?BasicDBObject().append(“hosting”,?”hostB”), newDocument2);

printAllDocuments(collection);

removeAllDocuments(collection);

System.out.println(“Testing 3…”);

insertDummyDocuments(collection);

BasicDBObject newDocument3?=?new?BasicDBObject().append(“$set”,

new?BasicDBObject().append(“type”,?”dedicated server”));

collection.update(new?BasicDBObject().append(“hosting”,?”hostA”), newDocument3);

printAllDocuments(collection);

removeAllDocuments(collection);

System.out.println(“Testing 4…”);

insertDummyDocuments(collection);

BasicDBObject updateQuery?=?new?BasicDBObject().append(“$set”,

new?BasicDBObject().append(“clients”,?”888″));

collection.update(

new?BasicDBObject().append(“type”,?”vps”), updateQuery,?false,?true);

printAllDocuments(collection);

removeAllDocuments(collection);

System.out.println(“Done”);

}?catch?(UnknownHostException e) {

e.printStackTrace();

}?catch?(MongoException e) {

e.printStackTrace();

}

}

}

  查询Document

  下面学习如何查询document,先用下面的代码往数据库中插入1-10数字:

  for(int?i=1; i?
collection.insert(new?BasicDBObject().append(“number”, i));



}

?  接下来,看下如下的例子:

  1) 获得数据库中的第一个document:

  DBObject doc?=?collection.findOne();

System.out.println(dbObject);

?  输出为:

  {“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80bd”} ,?”number”?:?1}

?  2)获得document的集合

  DBCursor cursor?=?collection.find();

while(cursor.hasNext()){

System.out.println(cursor.next());

}

?  这里,使用collection.find()方法,获得当前数据库中所有的documents对象集合

  然后通过对DBCursor对象集合的遍历,即可输出当前所有documents。输出如下:

  {“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80bd”} ,?”number”?:?1}

//……….中间部分省略,为2到9的输出

  {“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80c6″} ,?”number”?:?10}

?  3) 获取指定的document

  比如要获得number=5的document对象内容,可以使用collection的find方法即可,如下:

  BasicDBObject query?=new?BasicDBObject();

query.put(“number”,?5);

DBCursor cursor?=?collection.find(query);

while(cursor.hasNext()){

System.out.println(cursor.next());

}

?  即输出:

  {“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80c1″} ,?”number”?:?5}

?  4) 使用in操作符号

  在mongodb中,也可以使用in操作符,比如要获得number=9和number=10的document对象,可以如下操作:

  BasicDBObject query?=new?BasicDBObject();

List list?=new?ArrayList();

list.add(9);

list.add(10);

query.put(“number”,?new?BasicDBObject(“$in”, list));

DBCursor cursor?=?collection.find(query);

while(cursor.hasNext()){

System.out.println(cursor.next());

}

?  这里使用了一个List,并将list传入到BasicDBObject的构造函数中,并使用了in操作符号,输出如下:

  {“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80c5″} ,?”number”?:?9}

{“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80c6″} ,?”number”?:?10}

  5) 使用>,

  在mongodb中,也可以使用比如>,5的document集合,则使用“$gt”即可,同理,小于关系则使用$lt,例子如下:

  BasicDBObject query?=new?BasicDBObject();

query.put(“number”,?new?BasicDBObject(“$gt”,?5));

DBCursor cursor?=?collection.find(query);

while(cursor.hasNext()){

System.out.println(cursor.next());

}

?  输出如下:

  {“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80c2″} ,?”number”?:?6}

{“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80c3″} ,?”number”?:?7}

{“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80c4″} ,?”number”?:?8}

{“_id”?: {“$oid”?:?”4dc7f7b7bd0fb9a86c6c80c5″} ,?”number”?:?9}

{“_id”?: {“$oid”?:?”4dc7f7b7

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까? Feb 07, 2025 pm 12:09 PM

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

Spring Tool Suite에서 첫 번째 Spring Boot 응용 프로그램을 실행하는 방법은 무엇입니까? Spring Tool Suite에서 첫 번째 Spring Boot 응용 프로그램을 실행하는 방법은 무엇입니까? Feb 07, 2025 pm 12:11 PM

Spring Boot는 강력하고 확장 가능하며 생산 가능한 Java 응용 프로그램의 생성을 단순화하여 Java 개발에 혁명을 일으킨다. Spring Ecosystem에 내재 된 "구성에 대한 협약"접근 방식은 수동 설정, Allo를 최소화합니다.

데비안에서 MongoDB의 고 가용성을 보장하는 방법 데비안에서 MongoDB의 고 가용성을 보장하는 방법 Apr 02, 2025 am 07:21 AM

이 기사는 데비안 시스템에서 고도로 사용 가능한 MongoDB 데이터베이스를 구축하는 방법에 대해 설명합니다. 우리는 데이터 보안 및 서비스가 계속 운영되도록하는 여러 가지 방법을 모색 할 것입니다. 주요 전략 : ReplicaSet : ReplicaSet : 복제품을 사용하여 데이터 중복성 및 자동 장애 조치를 달성합니다. 마스터 노드가 실패하면 복제 세트는 서비스의 지속적인 가용성을 보장하기 위해 새 마스터 노드를 자동으로 선택합니다. 데이터 백업 및 복구 : MongoDump 명령을 정기적으로 사용하여 데이터베이스를 백업하고 데이터 손실의 위험을 처리하기 위해 효과적인 복구 전략을 공식화합니다. 모니터링 및 경보 : 모니터링 도구 (예 : Prometheus, Grafana) 배포 MongoDB의 실행 상태를 실시간으로 모니터링하고

데비안에서 MongoDB 자동 확장을 구성하는 방법 데비안에서 MongoDB 자동 확장을 구성하는 방법 Apr 02, 2025 am 07:36 AM

이 기사는 데비안 시스템에서 MongoDB를 구성하여 자동 확장을 달성하는 방법을 소개합니다. 주요 단계에는 MongoDB 복제 세트 및 디스크 공간 모니터링 설정이 포함됩니다. 1. MongoDB 설치 먼저 MongoDB가 데비안 시스템에 설치되어 있는지 확인하십시오. 다음 명령을 사용하여 설치하십시오. sudoaptupdatesudoaptinstall-imongb-org 2. MongoDB Replica 세트 MongoDB Replica 세트 구성은 자동 용량 확장을 달성하기위한 기초 인 고 가용성 및 데이터 중복성을 보장합니다. MongoDB 서비스 시작 : sudosystemctlstartMongodsudosys

스택 하단에 요소를 삽입하는 Java 프로그램 스택 하단에 요소를 삽입하는 Java 프로그램 Feb 07, 2025 am 11:59 AM

스택은 Lifo (마지막으로, 첫 번째) 원칙을 따르는 데이터 구조입니다. 다시 말해서, 우리가 스택에 추가하는 마지막 요소는 제거 된 첫 번째 요소입니다. 우리가 스택에 요소를 추가 (또는 푸시) 할 때, 그것들은 상단에 배치됩니다. 즉, 무엇보다도

Java에서 두 개의 Arraylist 비교 Java에서 두 개의 Arraylist 비교 Feb 07, 2025 pm 12:03 PM

이 안내서는 두 개의 배열 목록을 비교하기위한 몇 가지 Java 방법을 살펴 봅니다. 성공적인 비교에는 두 목록 모두 동일한 크기를 가지며 동일한 요소를 포함해야합니다. Java의 Arraylist를 비교하는 방법 AR을 비교하기위한 몇 가지 접근법이 존재합니다

Java의 저장된 연락처로 SMS 경고를 보내십시오 Java의 저장된 연락처로 SMS 경고를 보내십시오 Feb 07, 2025 pm 12:00 PM

Java에서 SMS 알림을 보내는 단계 이 기사는 Java를 사용하여 SMS 알림을 저장된 연락처로 보내는 방법을 살펴 봅니다. Java를 사용하여 SMS 알림을 저장 또는 구원받지 않은 연락처로 보내는 방법을 안내합니다. 특정 단계는 다음과 같습니다. SMS 제공 업체에서 계정을 설정하십시오. 제공자의 Java 라이브러리를 프로젝트에 추가하십시오. 문자 메시지를 보내려면 Java 코드를 작성하십시오. 위의 단계에 대해 자세히 설명하겠습니다. 계정을 설정하십시오 먼저 메시징 API (예 : Twilio)에서 계정을 설정해야합니다. Twilio 계정 등록 계정을 작성하십시오. 자격 증명을 받으면 계정이 있으면 계정 SID 및 AUTH TOKEN이 있습니다. 확인하려면이 정보가 필요합니다

Pi Coin의 주요 업데이트 : Pi Bank가오고 있습니다! Pi Coin의 주요 업데이트 : Pi Bank가오고 있습니다! Mar 03, 2025 pm 06:18 PM

Pinetwork는 혁신적인 모바일 뱅킹 플랫폼 인 Pibank를 출시하려고합니다! Pinetwork는 오늘 Pibank라고 불리는 Elmahrosa (Face) Pimisrbank에 대한 주요 업데이트를 발표했습니다. Pibank는 Pinetwork Cryptocurrency 기능을 완벽하게 통합하여 화폐 통화 및 암호 화폐의 원자 교환을 실현합니다 (US Dollar, Indones rupiah, indensian rupiah and with rupiah and and indensian rupiah and rupiah and and Indones rupiah and rupiahh and rupiah and rupiah and rupiah and rupiah and rupiah and rupiah and rupiah cherrenciance) ). Pibank의 매력은 무엇입니까? 알아 보자! Pibank의 주요 기능 : 은행 계좌 및 암호 화폐 자산의 원 스톱 관리. 실시간 거래를 지원하고 생물학을 채택하십시오

See all articles