您好,登錄后才能下訂單哦!
iBATIS怎樣快速創(chuàng)建應(yīng)用,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
iBATIS框架實(shí)際上非常簡(jiǎn)單,要開(kāi)始使用它也同樣非常簡(jiǎn)單。那么究竟有多簡(jiǎn)單呢?事實(shí)上,它是如此簡(jiǎn)單,以至于你可以用iBATIS在5分鐘之內(nèi)創(chuàng)建一個(gè)完整的應(yīng)用——不是一個(gè)大型的企業(yè)資源規(guī)劃(Enterprise Resource Planning,ERP)方案或者一個(gè)大型電子商務(wù)網(wǎng)站,而是一個(gè)簡(jiǎn)單的命令行工具,用于執(zhí)行一個(gè)SQL映射文件中的一條SQL語(yǔ)句并且向控制臺(tái)輸出執(zhí)行結(jié)果。下面將要給出的例子將配置一條簡(jiǎn)單的靜態(tài)SQL語(yǔ)句,用于查詢(xún)一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)表格,并且把它以如下形式輸出到控制臺(tái):
這種數(shù)據(jù)輸出方式并不是最漂亮的,但是由此你可以了解該應(yīng)用到底要做些什么。在下面幾節(jié)中,我們將逐步從無(wú)到有地實(shí)現(xiàn)此功能。
iBATIS快速創(chuàng)建應(yīng)用1:安裝數(shù)據(jù)庫(kù)
為了滿(mǎn)足示例應(yīng)用的目的,我們將使用MySQL數(shù)據(jù)庫(kù)。iBATIS框架可以使用任何數(shù)據(jù)庫(kù),只要該數(shù)據(jù)庫(kù)具有符合規(guī)范的JDBC驅(qū)動(dòng)。你只需要在配置文件中提供驅(qū)動(dòng)的全限定類(lèi)名以及一個(gè)JDBC URL即可。
安裝數(shù)據(jù)庫(kù)服務(wù)器超出了本書(shū)所討論的范圍,因此我們假設(shè)數(shù)據(jù)庫(kù)服務(wù)器已經(jīng)安裝好并且可用了,然后告訴你在此基礎(chǔ)之上需要做些什么。以下的MySQL腳本用于構(gòu)造了我們將要使用的表格,并且在其中添加了一些示例數(shù)據(jù):
如果你已經(jīng)安裝了一個(gè)不同的數(shù)據(jù)庫(kù)服務(wù)器,其中包含一些其他數(shù)據(jù),并且你想要在這些數(shù)據(jù)上執(zhí)行某些SQL查詢(xún),你可以大膽地在本例子中使用它。你只需要修改SqlMap.xml文件中的查詢(xún)語(yǔ)句,以包含你的SQL,同時(shí)還需要修改SqlMapConfig.xml文件以配置iBATIS使用你的數(shù)據(jù)庫(kù)。為使整個(gè)例子成功運(yùn)行,你還需要知道驅(qū)動(dòng)的名稱(chēng)、JDBC URL、以及連接時(shí)的用戶(hù)名和密碼。
iBATIS快速創(chuàng)建應(yīng)用2編寫(xiě)代碼
由于本例是我們給出的***個(gè)完整的例子,同時(shí)也只是對(duì)使用iBATIS的一個(gè)介紹,因此它的代碼將會(huì)比真正的應(yīng)用要簡(jiǎn)單得多。類(lèi)型安全和異常處理我們以后將會(huì)詳細(xì)討論,因而在此處對(duì)于這些話題我們將不予考慮。代碼清單2-4給出了完整的代碼:
代碼清單2-4 Main.java
就是這些了!我們?cè)诖蠹s10行Java代碼中就完成了對(duì)iBATIS的配置,執(zhí)行了SQL語(yǔ)句,并且打印了結(jié)果。以上就是一個(gè)功能完整的iBATIS應(yīng)用所需要的全部Java代碼。稍后,我們將對(duì)其進(jìn)行改進(jìn),但是現(xiàn)在我們將繼續(xù)討論有關(guān)iBATIS配置的基礎(chǔ)知識(shí)。
iBATIS快速創(chuàng)建應(yīng)用3配置iBATIS(預(yù)覽)
考慮到我們將在下一章中深入介紹如何配置iBATIS,所以此處我們將只是簡(jiǎn)單介紹一下。此處你不會(huì)找到有關(guān)配置選項(xiàng)的過(guò)多解釋?zhuān)俏覀儗⒔o出最重要的信息。
首先,讓我們來(lái)研究SqlMapConfig.xml文件。它是使用iBATIS的起點(diǎn),負(fù)責(zé)把所有的SQL映射文件組合在一起。代碼清單2-5給出了我們的簡(jiǎn)單應(yīng)用中使用的SqlMapConfig.xml文件。
代碼清單2-5 最簡(jiǎn)單的iBATIS應(yīng)用中的SQL映射配置
你可能已經(jīng)猜到,我們正是在此配置文件中告訴iBATIS如何連接數(shù)據(jù)庫(kù),以及獲取哪些SQL映射文件。由于這是一個(gè)XML文件,我們需要提供doctype和DTD用于驗(yàn)證(1)。SIMPLE是一個(gè)iBATIS內(nèi)置事務(wù)處理器的別名(2)。我們需要為這個(gè)事務(wù)處理器提供JDBC驅(qū)動(dòng)的名稱(chēng)、JDBC URL、以及允許你連接到數(shù)據(jù)庫(kù)的用戶(hù)名(username)和密碼(password)。然后你將提供你的SQL映射文件(3)。此例中,我們只有一個(gè)SQL映射文件,但是你可以想要多少就提供多少個(gè)。該文件中你還可以做一些其他設(shè)置,我們將在下一章中詳細(xì)介紹。
現(xiàn)在你已經(jīng)看到了主配置文件,下面我們來(lái)看一下SqlMap.xml文件(代碼清單2-6)。這個(gè)文件包含了我們將要運(yùn)行的SQL語(yǔ)句。
代碼清單2-6 最簡(jiǎn)單的SQL映射
代碼清單2-6的XML中,我們接受了一個(gè)String類(lèi)型的參數(shù)(parameterClass)作為GROUPNAME列的值,并且把結(jié)果類(lèi)(resultClass)映射到了一個(gè)HashMap上。
警告:
我們并不推薦使用Map(例如,HashMap、TreeMap)作為域模型,但是這樣做確實(shí)顯示了iBATIS所提供的映射的靈活性。你并不總是需要映射到JavaBean——你可以直接映射到Map或者基本類(lèi)型。
無(wú)論你是否相信,你現(xiàn)在已經(jīng)看到了使用iBATIS所需要的所有代碼和配置。我們故意將它分散開(kāi)以便于印刷,但是即使如此,這些代碼總共也只有大約50行,包括Java和XML。而且更重要的一點(diǎn)是,這50行代碼中有45行都是有關(guān)配置的,這些配置在一個(gè)應(yīng)用中只需要編寫(xiě)一次即可,而不需要針對(duì)每個(gè)語(yǔ)句都寫(xiě)一次。正如你在本章之前的例子中所見(jiàn)到的那樣,使用JDBC最終需要對(duì)每條SQL語(yǔ)句都編寫(xiě)50行或者更多的代碼。
iBATIS快速創(chuàng)建應(yīng)用4 構(gòu)造應(yīng)用
通常當(dāng)構(gòu)建一個(gè)大型應(yīng)用時(shí),你都會(huì)使用一些類(lèi)似于Ant的工具來(lái)簡(jiǎn)化構(gòu)建過(guò)程。由于本例中我們只有一個(gè)類(lèi),因此就不需要麻煩地為它創(chuàng)建一個(gè)Ant腳本了。為了編譯此應(yīng)用,你只需要在classpath上添加兩個(gè)JAR文件:ibatis-common-2.jar和ibatis-sqlmap-2.jar,因此我們只要用命令行把它們輸入給Java編譯器即可:
javac -classpath <your-path>ibatis-common-2.jar; <your-path>ibatis-sqlmap-2.jar Main.java
當(dāng)然了,以上的代碼應(yīng)該在同一行中輸入,并且你應(yīng)該用JAR文件的實(shí)際路徑來(lái)代替<your-path>。如果一切都順利的話,編譯器應(yīng)該不會(huì)產(chǎn)生任何輸出到屏幕上,而只是在當(dāng)前目錄上創(chuàng)建一個(gè)Main.class文件。
iBATIS快速創(chuàng)建應(yīng)用5 運(yùn)行應(yīng)用
在執(zhí)行此應(yīng)用時(shí),我們還需要另外一些JAR文件,但也不是那么多。為了運(yùn)行我們的應(yīng)用,我們只需要在classpath上添加以下JAR文件即可:ibatis-common-2.jar、ibatis-sqlmap-2.jar、commons-logging.jar以及JDBC驅(qū)動(dòng)(在此例中,這個(gè)驅(qū)動(dòng)器就是mysql-connector-java.jar),因而下面應(yīng)該輸入以下這個(gè)命令:
java -classpath <your-path>;mysql-connector.jar;commons-logging.jar; ibatis-common-2.jar;ibatis-sqlmap-2.jar;.Main
同樣地,在編輯時(shí)以上代碼必須在同一行中,同時(shí)應(yīng)該用系統(tǒng)中的實(shí)際路徑來(lái)代替<your-path>。
這個(gè)程序運(yùn)行之后會(huì)告訴你選擇出了多少條記錄,然后將它們以一種以較粗糙的格式輸出,類(lèi)似如下:
iBATIS框架被設(shè)計(jì)得非常靈活。它可以是一個(gè)非常輕量簡(jiǎn)單的框架,只執(zhí)行SQL并且返回?cái)?shù)據(jù),當(dāng)然也可以被用來(lái)做其他更多的工作。
這種靈活性的關(guān)鍵之一在于對(duì)框架的正確配置。在下一章中,我們將討論兩種主要的配置文件類(lèi)型,然后研究通過(guò)使用配置來(lái)處理復(fù)雜情況的一些模式。
注意:
配置文件都是標(biāo)準(zhǔn)的XML文檔。這意味著如果你有一個(gè)時(shí)髦的XML編輯器,就可以用DTD(Document Type Definition)來(lái)驗(yàn)證你的文檔是否存在語(yǔ)法錯(cuò)誤,有時(shí)候甚至可以在編輯過(guò)程中提供代碼提示和自動(dòng)完成功能。
看完上述內(nèi)容,你們掌握iBATIS怎樣快速創(chuàng)建應(yīng)用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。