国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
???? ??
????? ???? ?? ??? ??????. of ??? ???
???? ????? ???? MongoDb ?? ??? ??
? Java Java??? Java? ????? ???? ??? MongoDb ??? ?????.

Java? ????? ???? ??? MongoDb ??? ?????.

Dec 15, 2020 pm 05:30 PM
java mongodb

Java ?? ??????? MongoDb ??? ???? ??? ???? ??

Java? ????? ???? ??? MongoDb ??? ?????.

??(??): Java ?? ????

Reflection? ??? ?? ?? ?????? ?? ???? Java? ?? ?????. . ?? ?? Spring, Tomcat, Jetty ? ?? ????? ?? ????? ????? ?????.

Java ??????? ????? ? ???? ?? ??? ??? ? ?? ?? ??? ? ?? ????? ??? ? ????.

??? ?? ???? ????? ?? ????? ??? ???? ???? ????.

?? ?? ???? ???? ????? ???? ??? MongoDb? ??? ??? ??? ?????. ? ??? ???? ?? ????? ??? ????? ???? ? ????.

???? ??

????? ?????? ?? ??? ????? ?? ?? ???? MongoDb? ???? ???. ??? ? ?? ?? ???? MongoDb ??? ???? ???. ?, Java ??? ??? ???? ???.

?? ?? ?? ??? MongoDb? ????? ?? ??? Document? ???? ???.

??? ?? ???? ? ??? ???? 2Doc() ???? ???? ???. ? ???? ??? ??? ??? ??? ??? ??? ????. ??? ??? ?? ??? ???? ??? ??? ??? ???? ? ????.

public?class?Order?{
????private?Long?id;
????private?Long?userId;
????private?String?orderNo;
????private?BigDecimal?amount;
????private?String?createTime;
????private?String?updateTime;
????//?省略無數字段
????
????//?轉換方法:訂單轉doc
????public?Document?order2Doc(Order?order)?{
????????Document?doc?=?new?Document();

????????doc.put("id",?order.getId());
????????doc.put("userId",?order.getUserId());
????????doc.put("orderNo",?order.getOrderNo());
????????doc.put("amount",?order.getAmount());
????????doc.put("createTime",?order.getCreateTime());
????????doc.put("updateTime",?order.getUpdateTime());
????????//?省略無數put...

????????return?doc;
????}
}

??? MongoDb?? ???? ???? Document? ?? Java ??? ???? ??? ?? ?? ?? ? ????.

public?class?Order?{
????private?Long?id;
????private?Long?userId;
????private?String?orderNo;
????private?BigDecimal?amount;
????private?String?createTime;
????private?String?updateTime;
????//?省略無數字段
????
????//?轉換方法:doc轉訂單
????public?Order?doc2Order(Document?doc)?{
????????Order?order?=?new?Order();
????????
????????order.setId((Long)?doc.get("id"));
????????order.setUserId((Long)?doc.get("userId"));
????????order.setOrderNo((String)?doc.get("orderNo"));
????????order.setAmount((BigDecimal)?doc.get("amount"));
????????order.setCreateTime((String)?doc.get("createTime"));
????????order.setUpdateTime((String)?doc.get("updateTime"));
????????//?省略無數set...

????????return?order;
????}
}

? ??? ?? ???? ?? ???, ??? ???? ?? ? ??? ?? ?? ?? ??, ?????? ?? ??? ?? ??? ????. ??? ???? ? ???? ?? ? ? ????. ?? ????.

??? ??? ??? ???? ? ? ?? ?? ??? ????? ??, ? ?????? Java? ? ?? ?? ??? ????? ???? ?????. ???? ? ? ???? ??? ?? ?? ? ?? ???? ??? ?????.

? ?? ??? ????? ???? ??? ???? ?? ??? ??????.

? ?? ??? MongoDb ?? ???? ???? ?? ???? ????? ?????.

???? ???? ??? ?????~

????? ???? ?? ??? ??????. of ??? ???

? ?? ??? ????? ??? ???? ? ?? ?? ??? ?????? ???.

Java ??? ??? ???? ??? ???? ?? Order ???? ?? ?? ?????.

?? ????? ?? ?? ???? ?? ?? ??? ?? ?? ??? ???? ??? ??? ?????. ????? ???? ??? ??? ??? ???? ?? ??? ??? ????.

public?class?Order?{
????//?...省略無數字段

????public?Document?order2Doc(Order?order)?throws?Exception?{
????????Document?doc?=?new?Document();

????????//?獲取所有字段:通過?getClass()?方法獲取?Class?對象,然后獲取這個類所有字段
????????Field[]?fields?=?order.getClass().getDeclaredFields();
????????for?(Field?field?:?fields)?{
????????????//?開放字段操作權限
????????????field.setAccessible(true);
????????????//?設置值
????????????doc.put(field.getName(),?field.get(order));
????????}

????????return?doc;
????}
}

?? ?? ? ??? ?? ???? ?? ? ? ????. ??? ??? ?? ??? ???, ??? ?? Put ??? ???? ???? ???? ? ? ?? ????? ??? ??? ? ????. Java ??? MongoDb ??? ???? ?? ? ???? ????.

? ????? ?? ? ?? ??? Document? Java ??? ??? ?????.

public?class?Order?{
????//?...省略無數字段

????public?Order?doc2Order(Document?doc)?throws?Exception?{
????????Order?order?=?new?Order();

????????for?(String?key?:?doc.keySet())?{
????????????//?獲取字段
????????????Field?field?=?order.getClass().getDeclaredField(key);
????????????//?開放字段操作權限
????????????field.setAccessible(true);
????????????//?設置值
????????????field.set(order,?doc.get(key));
????????}

????????return?order;
????}
}

?? ??? ???? ??? ???? ????? ???? ?? ??? ?? ?? ??? ??? ??? ???? ?? ?? ??? ??? ?????.

? ???? ? ??? ???? ?? ??? ????? ?? ????? ????? ????? ? ?? ??? ??? ???????. ?? ??? ? ???? ???? ???? ??? ??? ????.

??? ?? ??? ?? ???? ?? ??????? ??? ???? ??? ????.

?? ?? ??? ??? ???. ? ??? ????? ? ?? ?? ???? ??? ? ? ???? ?? ??? ????? ??? ??? ??? ????.

???? ??? ??? ???? ???? ?? ??? ????. ??? ???? ???? ????? ???? ??? ???? ??? ??? ???? ??? ?? ????. ???? ???? ??? ???? ?? ??? ??? ??? ???? ?? ??? ????.

?, ? ?? ??? ???? ???.

???? ????? ???? MongoDb ?? ??? ??

??? ??? ???? ??? ?? ???? ??? ??? ??? ??? ??? ? ???? ??? ?????.

???? ????? ???? ?? ??? ?? ??? ? ??? ? ? ????.

? ?? ??? ??? ????? ????

Java ??? ??? ???? ??? ?????. ?? ?? ???? ??? ?? ????? ?? ?? ???? ?? ?? ??? ?? ?? ??? ???? ??? ??? ?????. ????? ???? ??? ??? ????.

public?class?MongoDbUtils?{

????//?定義泛型方法:
????//?1.?在返回值前,聲明泛型參數?<參數名>;
????//?2.?傳入參數時,指定一個泛型參數
????public?static?<T>?Document?obj2Doc(T?obj)?throws?Exception?{
????????Document?doc?=?new?Document();

????????//?獲取所有字段:通過?getClass()?方法獲取?Class?對象,然后獲取這個類所有字段
????????Field[]?fields?=?obj.getClass().getDeclaredFields();
????????for?(Field?field?:?fields)?{
????????????//?開放字段操作權限
????????????field.setAccessible(true);
????????????//?設置值
????????????doc.put(field.getName(),?field.get(obj));
????????}

????????return?doc;
????}
}

???? ??? ? ?? ??? ?? ???? ??? ???? ? ?? ??? ??? ??? ????2Doc()方法了。在使用的時候,只要調用 MongoDbUtils.obj2Doc() .

??? ????? ?? ? ?? ??? Document? Java ??? ???? ??? ???? ?????.

public?class?MongoDbUtils?{

????//?定義泛型方法:
????//?1.?在返回值前,聲明泛型參數?<參數名>;
????//?2.?傳入參數必須是?Class,但這個?Class?是泛型參數,不限制類型
????public?static?<T>?T?doc2Obj(Document?doc,?Class<T>?clazz)?throws?Exception?{
????????//?實例化泛型對象
????????T?obj?=?clazz.newInstance();

????????for?(String?key?:?doc.keySet())?{
????????????//?獲取字段
????????????Field?field?=?clazz.getDeclaredField(key);
????????????//?開放字段操作權限
????????????field.setAccessible(true);
????????????//?設置值
????????????field.set(obj,?doc.get(key));
????????}

????????return?obj;
????}
}

首先,我們定義實例化一個泛型對象;然后,我們使用循環(huán)遍歷 Document;最后,在循環(huán)中,使用反射獲取相應的字段,把 Document 的值設置到泛型對象的字段里。

第二版的迭代就基本完成了。我們在第一版迭代的基礎上,加入了泛型,得到了一個工具類 MongoDbUtils,這個工具類得到結果和以前完全一樣,你可以看下測試代碼。

public?static?void?main(String[]?args)?throws?Exception?{
????Order?order?=?new?Order();
????order.setId(0L);
????order.setUserId(0L);
????order.setOrderNo("1");
????order.setAmount(new?BigDecimal("0"));
????order.setCreateTime("2");
????order.setUpdateTime("3");
????System.out.println("原始數據:"?+?order);

????Document?document?=?MongoDbUtils.obj2Doc(order);
????System.out.println("轉換doc數據:"?+?document);

????Order?order1?=?MongoDbUtils.doc2Obj(document,?Order.class);
????System.out.println("轉換java數據:"?+?order1);
}

運行結果:
原始數據:Order(id=0,?userId=0,?orderNo=1,?amount=0,?createTime=2,?updateTime=3)
轉換doc數據:Document{{id=0,?userId=0,?orderNo=1,?amount=0,?createTime=2,?updateTime=3}}
轉換java數據:Order(id=0,?userId=0,?orderNo=1,?amount=0,?createTime=2,?updateTime=3)

這樣一來,我們就不用保留實體類上的轉換方法了,剩下的工作就是刪代碼。

MongoDb 和 Java 對象的互相轉換就完成了。我們做了兩次迭代,第一次迭代利用了反射,把大量手動 set/get 操作給去掉了;第二次迭代在原來的基礎上,加入了泛型的應用,又去掉了一堆重復代碼。

? ??? Java? ????? ???? ??? MongoDb ??? ?????.? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
JDBC? Java? ??? ???? ??? ?????? JDBC? Java? ??? ???? ??? ?????? Aug 02, 2025 pm 12:29 PM

JDBC ????? ???? ????? ?? ?? ?? ??? ?? ?? ??? ?? ? ?? ??? ?? ?? ?? ??? ???????. 1. ????? ????? Conn.SetAutoCommit (False)?? ??????. 2. ??? ? ????? ?? ?? SQL ??? ?????. 3. ?? ??? ??? ?? Conn.commit ()?? ???? ??? ???? ???? ?? ??? ???? Conn.Rollback ()?? ??????. ???, ? ??? ???? ????, ??? ???? ????, ?? ??? ??? ?? ??? ??? ???? ? ???????. ?? ?? ?? ???? ????? ??? ???? ?? ?? ???? ???? ??? ????? ?? ??? ??? ? ?? ???? ?? ????.

Java? ??? ?? ??? ?????? Java? ??? ?? ??? ?????? Aug 02, 2025 am 02:38 AM

?? ?? ? ?? ???? ???? ?? Java.Time ???? ???? ??????. 2. LocalDate, LocalDateTime ? LocalTime? ?? ?? ??? ??? ?????. 3. () ???? ???? ?? ??? ??? ????. 4. ???/???? ??? ???? ??? ????? ??? ??????. 5. ZonedDateTime ? Zoneid? ???? ???? ??????. 6. DateTimeFormatter? ?? ?? ? ?? ?? ?? ???; 7. ??? ?? ?? ?? ??? ????? ?? ??????. ?? Java? ?? ??? ???? ??? ??? ???? Java.Timeapi ??? ?? ??? ???????.

MongoDB ???? ?? ?? : WiredTiger Deep Dive MongoDB ???? ?? ?? : WiredTiger Deep Dive Aug 04, 2025 am 05:49 AM

WiredTigerIsMongoDB? SDEFAULTSTORAGEENSINESCERSION3.2, ?? ??, ?? ? ? ?? ?? ???? ????? .1.ITUSESSDOCUMENT-LEVELLOCKINGANDMVCCORHIGHCONCURRENC, READSANDSANDSTOPROUCEDECHEATHOTHER.2.DATAISTRESINGB-TREES? ?????.

Java ??? ?? ?? : Spring Boot vs Quarkus vs Micronaut Java ??? ?? ?? : Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

Pre-FormancetArtUptimeMoryUsage, Quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless sinarios.2.thyvelopecosyste,

MongoDB?? ??? ?? ?? : ??? ? ?? MongoDB?? ??? ?? ?? : ??? ? ?? Aug 02, 2025 am 07:55 AM

aSeembeddingWherelationshipisone-to-few, dataisAccessedTogether ? FastReadsareneed; 2. useReferencingwhendealingwithone-to-manyormany-to-manyrelationships, browor indectionallyQueriedData;

??? ??? Java?? ??? ?????? ??? ??? Java?? ??? ?????? Aug 02, 2025 pm 01:55 PM

Java 's Garbage Collection (GC)? ???? ???? ???? ??????, ?? ? ??? ??? ? ??? ??? ??? ??? ????. 1.GC? ?? ?? (? : ?? ??, ?? ???, ?? ?? ?)?? ??? ???? ????, ?? ? ??? ??? ???? ?????. 2. ?? ???? ????? ????, ?? ?? ??? ??? ???? ?? ??? ??????. 3. ?? ?? ?? ?? : ??? ?? (Eden, S0, S1)? ?? ????? ?????. ??? ??? ?? ? MajorGC? ???? ? ??? ? ????. Metaspace? ??? ?? ???? ?????. 4. JVM? ??? GC ??? ?????. SerialGC? ??? ?? ????? ?????. ParallelGC? ???? ??????. CMS? ?? ???

??? ???? html` ?? '??? ????? ??? ???? html` ?? '??? ????? Aug 03, 2025 am 11:07 AM

??? htmlinput ??? ???? ??? ???? ????? ??? ??? ?? ??? ???? ???? ? ????. 1. ???, ???, ??, ?? ? ??? ?? ??? ??? ?? ?? ?? ??? ???? ???? ??? ? ???? ??? ? ????. 2. HTML5? ?????? ??? ? ?? ?? ??? ?? ? ??? URL, ??, ?? ? ??? ?? ??? ??? ??????. 3. ?? ?? ? ? ??? ??? ???? ?? ??? ???? ???? ?? ???? ?? ???? ???? ?? ? ? ??? ?? ???????.

?? HTTP ???? ?? ??? ?????? ?? HTTP ???? ?? ??? ?????? Aug 03, 2025 am 11:35 AM

GO? HTTP ?? ????? ?? ??, ??, ????? IP ? ?? ??? ?? ? ? ????. 1. http.handlerfunc? ???? ????? ????, 2. ??? ???? ?? ?? ??? ?? ??? ??????. ?? ?? ??? ???? ??? ?????? ??? ????? ???? ? ?????. ?? ???? ?? ?? ??, JSON ?? ?? ? ?? ID ??? ?????.

See all articles