<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 39  文章 - 1  trackbacks - 0

      Java數(shù)據(jù)庫(kù)連接(JDBC)API是一系列能夠讓Java編程人員訪問(wèn)數(shù)據(jù)庫(kù)的接口,各個(gè)開發(fā)商的接口并不完全相同。以下是一些技巧,這些技巧能夠使我們更好地發(fā)揮系統(tǒng)的性能和實(shí)現(xiàn)更多的功能。oracle培訓(xùn)

      1、關(guān)閉自動(dòng)提交功能,提高系統(tǒng)性能

      在第一次建立與數(shù)據(jù)庫(kù)的連接時(shí),在缺省情況下,連接是在自動(dòng)提交模式下的。為了獲得更好的性能,可以通過(guò)調(diào)用帶布爾值false參數(shù)的Connection類的setAutoCommit()方法關(guān)閉自動(dòng)提交功能,如下所示:

      conn.setAutoCommit(false);

      值得注意的是,一旦關(guān)閉了自動(dòng)提交功能,我們就需要通過(guò)調(diào)用Connection類的commit()和rollback()方法來(lái)人工的方式對(duì)事務(wù)進(jìn)行管理。

      2、在客戶端軟件開發(fā)中使用Thin驅(qū)動(dòng)程序

      在開發(fā)Java軟件方面,Oracle的數(shù)據(jù)庫(kù)提供了四種類型的驅(qū)動(dòng)程序,二種用于應(yīng)用軟件、applets、servlets等客戶端軟件,另外二種用于數(shù)據(jù)庫(kù)中的Java存儲(chǔ)過(guò)程等服務(wù)器端軟件。在客戶機(jī)端軟件的開發(fā)中,我們可以選擇OCI驅(qū)動(dòng)程序或Thin驅(qū)動(dòng)程序。OCI驅(qū)動(dòng)程序利用Java本地化接口(JNI),通過(guò)Oracle客戶端軟件與數(shù)據(jù)庫(kù)進(jìn)行通訊。Thin驅(qū)動(dòng)程序是純Java驅(qū)動(dòng)程序,它直接與數(shù)據(jù)庫(kù)進(jìn)行通訊。為了獲得最高的性能,Oracle建議在客戶端軟件的開發(fā)中使用OCI驅(qū)動(dòng)程序,這似乎是正確的。但我建議使用Thin驅(qū)動(dòng)程序,因?yàn)橥ㄟ^(guò)多次測(cè)試發(fā)現(xiàn),在通常情況下,Thin驅(qū)動(dòng)程序的性能都超過(guò)了OCI驅(qū)動(dòng)程序。

      3、利用helper函數(shù)對(duì)動(dòng)態(tài)SQL命令進(jìn)行格式化

      在創(chuàng)建使用Statement對(duì)象執(zhí)行的動(dòng)態(tài)SQL命令時(shí),我們需要處理一些格式化方面的問(wèn)題。例如,如果我們想創(chuàng)建一個(gè)將名字O'Reilly插入表中的SQL命令,則必須使用二個(gè)相連的“''”號(hào)替換O'Reilly中的“'”號(hào)。完成這些工作的最好的方法是創(chuàng)建一個(gè)完成替換操作的helper方法,然后在連接字符串心服用公式表達(dá)一個(gè)SQL命令時(shí),使用創(chuàng)建的helper方法。與此類似的是,我們可以讓helper方法接受一個(gè)Date型的值,然后讓它輸出基于Oracle的to_date()函數(shù)的字符串表達(dá)式。

      4、在動(dòng)態(tài)SQL或有時(shí)間限制的命令中使用Statement對(duì)象

      在執(zhí)行SQL命令時(shí),我們有二種選擇:可以使用PreparedStatement對(duì)象,也可以使用Statement對(duì)象。無(wú)論多少次地使用同一個(gè)SQL命令,PreparedStatement都只對(duì)它解析和編譯一次。當(dāng)使用Statement對(duì)象時(shí),每次執(zhí)行一個(gè)SQL命令時(shí),都會(huì)對(duì)它進(jìn)行解析和編譯。這可能會(huì)使你認(rèn)為,使用PreparedStatement對(duì)象比使用Statement對(duì)象的速度更快。然而,我進(jìn)行的測(cè)試表明,在客戶端軟件中,情況并非如此。因此,在有時(shí)間限制的SQL操作中,除非成批地處理SQL命令,我們應(yīng)當(dāng)考慮使用Statement對(duì)象。

      此外,使用Statement對(duì)象也使得編寫動(dòng)態(tài)SQL命令更加簡(jiǎn)單,因?yàn)槲覀兛梢詫⒆址B接在一起,建立一個(gè)有效的SQL命令。因此,我認(rèn)為,Statement對(duì)象可以使動(dòng)態(tài)SQL命令的創(chuàng)建和執(zhí)行變得更加簡(jiǎn)單。

    posted on 2013-08-29 15:14 親愛(ài)的小孩 閱讀(120) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久亚洲私人国产精品vA| 在线成人a毛片免费播放| 亚洲精品成人在线| 亚洲av色香蕉一区二区三区蜜桃| 青青视频观看免费99| 91网站免费观看| 亚洲欧洲日韩综合| 美丽的姑娘免费观看在线播放 | 国产成人免费福利网站| 亚洲熟妇无码另类久久久| 久久免费观看视频| 成年女人男人免费视频播放| 国产亚洲玖玖玖在线观看| 免费精品一区二区三区在线观看| 亚洲AV无码片一区二区三区| 四虎免费影院4hu永久免费| 亚洲男女内射在线播放| 中文精品人人永久免费| 亚洲处破女AV日韩精品| 免费A级毛片无码A∨中文字幕下载| 亚洲AV无码国产丝袜在线观看| 99re6热视频精品免费观看 | 亚洲中文字幕无码不卡电影 | 久久精品亚洲精品国产色婷| 久久精品国产免费观看三人同眠| 亚洲中字慕日产2020| 国产一区二区三区免费在线观看| 成人嫩草影院免费观看| 97无码免费人妻超级碰碰碰碰| 亚洲第一成年免费网站| 亚洲日本中文字幕一区二区三区| 成人电影在线免费观看| 亚洲一区二区三区久久| 亚洲精品国产精品国自产观看 | 成年女人免费碰碰视频| 国产综合成人亚洲区| 亚洲一区二区三区偷拍女厕| 最刺激黄a大片免费网站| 亚洲精品无码你懂的| 黑人大战亚洲人精品一区| 亚洲精品在线免费观看视频|