導航:首頁 > 編程語言 > javamongoor查詢

javamongoor查詢

發布時間:2024-06-09 16:42:20

㈠ 關於mongoDB的$or 怎麼用java實現

舉例:
public static void selectAll() throws Exception{
//第一:實例化mongo對象,連接mongodb伺服器 包含所有的資料庫

//默認構造方法,默認是連接本機,埠號,默認是27017
//相當於Mongo mongo =new Mongo("localhost",27017)
Mongo mongo =new Mongo();

//第二:連接具體的資料庫
//其中參數是具體資料庫的名稱,若伺服器中不存在,會自動創建
DB db=mongo.getDB("myMongo");

//第三:操作具體的表
//在mongodb中沒有表的概念,而是指集合
//其中參數是資料庫中表,若不存在,會自動創建
DBCollection collection=db.getCollection("user");
BasicDBList condList = new BasicDBList();
BasicDBObject cond = null;

String ageStr = "function (){return parseFloat(this.id) > 2 && parseFloat(this.id) <= 4};";
cond = new BasicDBObject();
cond.put("$where",ageStr);

Pattern pattern = Pattern.compile("^.*明.*$", Pattern.CASE_INSENSITIVE);
BasicDBObject query =new BasicDBObject();
query.put("name", pattern);

condList.add(query);
condList.add(cond);
BasicDBObject searchCond = new BasicDBObject();
searchCond.put("$or", condList);

//查詢操作

DBCursor cursor=collection.find(searchCond);

System.out.println("mongodb中的user表結果如下:");
while(cursor.hasNext()){
System.out.println(cursor.next());
}
}

㈡ 學習Java具體都要學什麼內容

目前java學習除了在高校的專業中學習,還有自學和報班學習兩種途徑,根據每個人的情況最合適的學習方式是不同的。學習java只要掌握好方式和方法,其實學起來並不是非常難。

java學的內容主要有:

①JAVA編程基礎(基礎語法、面向對象、和諧特性等)

②WEB應用開發(靜態網頁製作、Oracle資料庫、Java Web開發技術、Linux技術、網站性能與安全、軟體工程開發流程、Java Web和諧等)

③企業級框架開發(數據結構與演算法、SSH框架、JavaEE和諧等)

④項目實訓

你可以考察對比一下開設有IT專業的熱門學校,好的學校擁有根據當下大型企業需求自主研發課程的能力,建議實地考察對比一下。祝你學有所成,望採納。

㈢ 怎麼使用java操作mongodb更新整個文檔

上篇博客介紹了java操作mongoDB進行對文件的處理。現在來介紹一下對文檔的處理。和對文件的處理一樣,也是通過java驅動中提供的幾個類相互作用完成的。這幾個類分別是:
DBCollection類:指定資料庫中指定集合的實例,提供了增刪改查等一系列操作。在關系型資料庫中,對數據的增刪改查操作是建立在表的基礎上的,在mongodb中是建立在集合的基礎上進行的。
DBObject介面:DBObject是鍵值的映射,因此,可以將DBObject的實現類作為查詢的返回結果,也可以作為查詢條件
DBCursor:游標,返回結果的集合。
下面是部分實例:

[java] view plain
Mongo mongo = new Mongo();
DB db = mongo.getDB("myMongoDB");
DBCollection course = db.getCollection("course");//對myMongoDB資料庫中course集合進行操作

//添加操作
//下面分別是創建文檔的幾種方式:1. .append() 2. .put() 3. 通過map 4. 將json轉換成DBObject對象
DBObject english = new BasicDBObject().append("name","english").append("score", 5).append("id",1);
course.insert(english);

DBObject math = new BasicDBObject();
math.put("id", 2);
math.put("name", "math");
math.put("score", 10);
course.insert(math);

Map<String,Object> map = new HashMap<String,Object>();
map.put("name","physics" );
map.put("score", 10);
map.put("id", 3);
DBObject physics= new BasicDBObject(map);
course.insert(physics);

String json ="{'name':'chemistry','score':10,'id':4}";
DBObject chemistry =(DBObject)JSON.parse(json);
course.insert(chemistry);

List<DBObject> courseList = new ArrayList<DBObject>();
DBObject chinese = new BasicDBObject().append("name","chinese").append("score", 10).append("id", 5);
DBObject history = new BasicDBObject().append("name", "history").append("score", 10).append("id", 6);
courseList.add(chinese);
courseList.add(history);
course.insert(courseList);

//添加內嵌文檔
String json2 =" {'name':'english','score':10,'teacher':[{'name':'柳松','id':'1'},{'name':'柳鬆鬆','id':2}]}";
DBObject english2= (DBObject)JSON.parse(json);
course.insert(english2);

List<DBObject> list = new ArrayList<DBObject>();
list.add(new BasicDBObject("name","柳松").append("id",1));
list.add(new BasicDBObject("name","柳鬆鬆").append("id",2));
DBObject english3= new BasicDBObject().append("name","english").append("score",10).append("teacher",list);

//查詢
//查詢所有、查詢一個文檔、條件查詢
DBCursor cur = course.find();
while(cur.hasNext()){
DBObject document = cur.next();
System.out.println(document.get("name"));
}

DBObject document = course.findOne();
String name=(String)document.get("name");
System.out.println(name);

//查詢學分=5的
DBObject query1 = new BasicDBObject("score",5);
DBObject query2 = new BasicDBObject("score",new BasicDBObject("$gte",5));
DBCursor cur2 = course.find(query2);
//條件表達式:$ge(>) $get(>=) $lt(<) $lte(<=) $ne(<>) $in $nin $all $exists $or $nor $where $type等等

//查找並修改
DBObject newDocument = course.findAndModify(new BasicDBObject("score",5), new BasicDBObject("score",15));

//更新操作
//q:更新條件 o:更新後的對象
course.update(new BasicDBObject("score",10), new BasicDBObject("test",15));
course.update(new BasicDBObject("score",15), new BasicDBObject("$set",new BasicDBObject("isRequired",true)));
//兩個的區別是,第一個更新是將{"test":15}這個文檔替換原來的文檔,
//第二個更新添加了條件表達式$set,是在原來文檔的基礎上添加"isRequired"這個鍵
//條件表達式:$set $unset $push $inc $push $push $addToSet $pull $pullAll $pop等等

//當_id相同時,執行save方法相當於更新操作
course.save(new BasicDBObject("name","math").append("_id", 1));
course.save(new BasicDBObject("name","數學").append("_id", 1));

//刪除符合條件的文檔
course.remove(new BasicDBObject("score",15));

//刪除集合及所有文檔
course.drop();<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>

上面只是介紹了一些簡單的操作,具體復雜的查詢更新可以根據需求再去查找文檔資料。其實,不管操作簡單還是復雜,其核心都是對DBObject和DBCollection的操作,主要掌握DBObject如何構造鍵值對,以及一些條件表達式。

㈣ JAVA都需要學些什麼,具體學習的方向是什麼

1.java基礎
2.JSP+Servlet+JavaBean 這個環節主要是懂流程的
什麼是MVC而已 別往深了研究 現在開發基本不用這個模式
3.Struts+Hibernate+Spring
這個才是開發的主流技術 把每個都搞清楚 哪個框架是什麼層的
4.Ajax(最好學學 很多公司都注重這個)

然後用3+4 做個例子 不是要實現功能 關鍵是要你知道什麼時候
該用什麼 流程是怎樣的 面試會問及這些
如何學習 Java的問題,「我已經學習了J2SE,怎麼樣才能轉向J2EE?」,「我看完了Thinking in Java, 可以學習J2EE了么?」。於是就有了寫這篇文章的想法,希望能幫助初學者少走一些彎路。也算是對自己幾年來學習Java的一個總結吧。
在開始之前有必要再討論一下J2ME,J2SE,J2EE這些概念。J2ME,The Micro Edition of the Java 2 Platform。主要用於嵌入式Java,如手機,PDA等等。J2SE,Java 2 Platform,Standard Edition,我們通常所說的JDK(Java Development Kit)包含在此,是J2EE的基礎。J2EE,Java 2 Platform,Enterprise Edition,就是所謂的企業級Java。這些只是從API級別上的劃分,實際上Sun給J2EE的定義是:開發基於組件的多層的企業級應用的規范。也就是為各種不同的技術定義一個Java的規范,使這些不同的技術結合起來,在Java平台上構建強壯的企業級應用。從這一點來看,J2EE這個概念應該是涵蓋J2ME,J2SE的。比如一個典型的J2EE應用,網上商店,它支持web方式下訂單,也支持手機下訂單。顯然必須用到J2SE,J2ME。所以也就不存在所謂的從J2SE轉向J2EE的問題了,只是後者包含的范圍更廣而已。

來看看Sun給出的J2EE 相關技術主要分為幾大塊。

1. Web Service技術

- Java API for XML Processing (JAXP)

- Java API for XML Registries (JAXR)

- Java API for XML-based RPC (JAX-RPC)

- SOAP with Attachments API for Java (SAAJ)

2. 組件模型技術(Component Model Technologies)

- Java Servlet

- JavaServer Pages

- JavaServer Faces

- Enterprise JavaBeans

- Java Message Service

- J2EE Connector Architecture

3. 管理技術(Management Technologies)

- J2EE Deployment Specification

- J2EE Management Specification

- J2EE Client Provisioning

- Java Authorization Contract for Containers

4. 其他相關技術(Other J2EE Technologies)

- JDBC

- Java Data Objects (JDO)

- CORBA (Java IDL and Java RMI-IIOP)

- JavaMail

- Transactions

如此之多的技術難免使初學者無所適從,望而卻步。即使是一位經驗豐富的J2EE開發者,又有幾個人敢說J2EE相關的技術我都熟練掌握了。不過作為一名普通J2EE應用程序的開發者來說,我們只需要重點學習其中的一部分技術就可以了,對於其他部分只要做到心中有數,哪天需要用到了知道跑哪裡去找到資料就行了。以我個人的觀點,下面這些技術是一般J2EE應用開發人員所必須熟練掌握的。Java Server Page,Java Servlet,Enterprise JavaBean,JDBC,Transactions。還有JAXP等XML相關技術,Java Message Service,Java Mail,JDO等等是最好應該掌握的。其他Management Technologies,Connector Architecture等等主要是給容器提供商中間件提供商參考的,應用開發者不需要怎麼關心,等用到了再去學習也不遲。 、、

Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE。這三塊相互補充,應用范圍不同。
J2SE就是Java2的標准版,主要用於桌面應用軟體的編程;
J2ME主要應用於嵌入是系統開發,如手機和PDA的編程;
J2EE是Java2的企業版,主要用於分布式的網路程序的開發,如電子商務網站和ERP系統。

先學習j2se
要學習j2ee就要先學習j2se,剛開始學習j2se先建議不要使用IDE,然後漸漸的過渡到使用IDE開發,畢竟用它方便嘛。學習j2se推薦兩本書,《java2核心技術一二卷》,《java編程思想》,《java模式》。其中《java編程思想》要研讀,精讀。這一段時間是基本功學習,時間會很長,也可能很短,這要看學習者自身水平而定。

不要被IDE糾纏
在學習java和j2ee過程中,你會遇到五花八門的IDE,不要被他們迷惑,學JAVA的時候,要學語言本身的東西,不要太在意IDE的附加功能,JAVA編程在不同IDE之間的轉換是很容易的,過於的在意IDE的功能反而容易耽誤對語言本身的理解。目前流行的IDE有jbuilder,eclipse和eclipse的加強版WSAD。用好其中一個就可以了,推薦從eclipse入手j2ee。因為Jbuilder更適合於寫j2se程序。

選擇和學習伺服器使用配置
當你有了j2se和IDE的經驗時,可以開始j2ee的學習了,web伺服器:tomcat,勿庸置疑,tomcat為學習web服務首選。而應用伺服器目前主要有三個:jboss、weblogic、websphere。有很多項目開始採用jboss,並且有大量的公司開始做websphere或weblogic向jboss應用伺服器的移植(節省成本),這里要說的是,學習tomcat和jboss我認為是首選,也是最容易上手的。學習伺服器使用配置最好去詢問有經驗的人(有條件的話),因為他們或許一句話就能解決問題,你自己上網摸索可能要一兩天(我就干過這種傻事),我們應該把主要時間放在學習原理和理論上,一項特定技術的使用永遠代替不了一個人的知識和學問。

學習web知識
如果你是在做電子商務網站等時,你可能要充當幾個角色,這是你還要學習:
html,可能要用到dreamwave等IDE。
Javascript,學會簡單的數據校驗,數據聯動顯示等等

J2eeAPI學習
學習j2eeAPI和學習伺服器應該是一個迭代的過程。
先學習jsp和servlet編程,這方面的書很多,我建立看oreilly公司的兩本《jsp設計》和《java servlet編程》,oreilly出的書總是那本優秀,不得不佩服。
學習jdbc資料庫編程,j2ee項目大多都是MIS系統,訪問資料庫是核心。這本應屬於j2se學習中,這里拿出來強調一下。
學習jndi api,它和學習ejb可以結合起來。
學習ejb api,推薦書《精通ejb》
經過上面的這些的學習,大概可以對付一般的應用了。
有人說跟著sun公司的《j2ee tutorial》一路學下來,當然也可以。

學習ejb設計模式和看代碼(最重要)
設計模式是練內功,其重要性可以這么說吧,如果你不會用設計模式的話,你將寫出一堆使用了ejb的垃圾,有慢又是一堆bug,其結果不如不用ejb實現(ejb不等於j2ee)
無論學習什麼語言,都應該看大量代碼,你看的代碼量不到一定數量,是學不好j2ee的
目前有很多開源的工程可以作為教材:
jive論壇
petstore sun公司
ne sun公司
等等,研讀一個,並把它用到自己的工程中來。

J2ee其他學習
當你漸漸對j2ee了解到一定深度時,你要開始關注當前領域中的一些技術變化,J2ee是一塊百家爭鳴的領域,大家都在這里提出自己的解決方案,例如structs,hiberate,ofbiz等等,學習這些東西要你的項目和目標而定,預先補充一下未嘗不可,但不用涉及太深,畢竟學習原理和理論是最最重要的事。

目前常見j2eeAPI
JavaServer Pages(JSP)技術1.2
Java Servlet技術2.3
JDBC API 2.0
Java XML處理API(JAXP)1.1
Enterprise JavaBeans技術2.0
Java消息服務(JMS)1.0
Java命名目錄介面(JNDI)1.2
Java事務API(JTA) 1.0
JavaMail API 1.2
JavaBeans激活架構(JAF)1.0
J2EE連接器體系結構(JCA)1.0
Java認證和授權服務(JAAS)1.0
學習上面的某些API要以你的項目而定,了解所有他們總之是有好處的
上面印證了大家說的一句話,java語言本身不難學,但是技術太多,所以學java很費勁。回想一下,基本上每個初學者,在剛學習java的時候可能都會問別人這么一句話,你怎麼知道的哪個方法(api)在哪個包里的?呵呵,無他,唯手熟爾。

㈤ 推薦如何系統的學習JAVA

如何系統學習java體系

學java首先要學 J2SE,它是java體系的基礎,也是重中之重。很多人往往不重視基礎,其實這是捨本逐末的做法。說這么多就是希望大家能重視基礎,能在這條路上走的更遠。

學j2se有下面幾個目標:
1、你要能真正理解面向對象的優勢,理解為什麼不是面向過程。
2、掌握java語法基礎。包括異常處理、多線程、網路編程、GUI編程等
3、如果你對swing不感興趣,可以跳過它。
這一階段結束後,你需要能獨立寫一個小游戲,比如坦克大戰、俄羅斯方塊、貪吃蛇等。
當你完成J2SE的學習之後,你就要開始學習java web了。
你需要掌握web基礎知識:html、css、javascript、ajax、jQuery。
別怕,這些技術看起來很多,其實也沒要你精通它們,只是要你能在用到它們的時候,能通過快速查閱相關文檔,能正確使用它們。如果這一階段順利的話,你可能還用不到一個月。
學習servlet、jsp、jdbc。
這些是javaweb的基礎,如果你自學有難度,可以在網上下載一些相關視頻,幫助理解,降低學習難度曲線。
當你完成上一階段的學習後,你就可以進入J2EE的階段了。
這一階段,你可能會見到很多各種各樣的框架,會讓你眼花繚亂,頭暈目眩。不過別擔心,你只需要學習三個就足夠了。它們是struts2、hibernate、spring。這些框架為搭建具有可伸縮性、靈活性、易維護性的商務系統提供了良好的機制。
首先你需要學習三個框架的基本配置和使用,直到你能熟練搭建一個ssh項目。
如果學有餘力,你可以深入學習這些框架的設計模式。
學習完三大框架之後,其實你學的已經足夠多了。如果對移動應用的開發感興趣,你可以接著學習安卓開發。安卓開發不需要其他知識,只要你j2se學的不錯,學安卓開發對你就沒太大難度了。

閱讀全文

與javamongoor查詢相關的資料

熱點內容
安卓手機拍攝慢動作怎麼設置 瀏覽:480
中國程序員加油 瀏覽:172
python去哪個城市比較多 瀏覽:759
閃迪u盤加密初始密碼 瀏覽:773
房屋辦理解壓需要契稅和發票嗎 瀏覽:888
麗江易學java高級程序員 瀏覽:661
程序員木蘭教程 瀏覽:665
pythontkinter按鈕 瀏覽:439
如何快捷錄音安卓 瀏覽:7
sd播放音樂需要哪些文件夾 瀏覽:839
華為平板m3怎麼升級到安卓11 瀏覽:532
聯通app排隊號怎麼看 瀏覽:647
怎麼不越獄安裝app 瀏覽:183
python怎麼用鏈表 瀏覽:851
8k程序員面試題 瀏覽:541
貴州交警app怎麼下載 瀏覽:414
解壓縮安裝包怎麼安裝 瀏覽:44
壓縮機系統與裝置 瀏覽:677
上海大眾app怎麼查保養記錄 瀏覽:464
抖音網紅一手資源解壓密碼 瀏覽:543