<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è)開(kāi)發(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、在客戶端軟件開(kāi)發(fā)中使用Thin驅(qū)動(dòng)程序

      在開(kāi)發(fā)Java軟件方面,Oracle的數(shù)據(jù)庫(kù)提供了四種類型的驅(qū)動(dòng)程序,二種用于應(yīng)用軟件、applets、servlets等客戶端軟件,另外二種用于數(shù)據(jù)庫(kù)中的Java存儲(chǔ)過(guò)程等服務(wù)器端軟件。在客戶機(jī)端軟件的開(kāi)發(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建議在客戶端軟件的開(kāi)發(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)的小孩 閱讀(118) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 中文字幕亚洲一区二区三区| 美女视频黄是免费的网址| 国产乱子影视频上线免费观看| 亚洲国产精品成人综合久久久 | 中文字幕亚洲免费无线观看日本| 国产精品亚洲一区二区三区在线| 色天使亚洲综合一区二区| 国产精品无码素人福利免费| 国产亚洲无线码一区二区| 成人A毛片免费观看网站| 国产亚洲人成网站在线观看| 和老外3p爽粗大免费视频| 亚洲熟妇av一区二区三区 | 美女被艹免费视频| 亚洲男人av香蕉爽爽爽爽| 有码人妻在线免费看片| 99久久这里只精品国产免费| 日本亚洲成高清一区二区三区| a级日本高清免费看| 亚洲视频中文字幕在线| 日韩毛片免费无码无毒视频观看 | 最新猫咪www免费人成| 国产精品亚洲va在线观看| 久久久久亚洲精品无码网址 | 国产成人久久精品亚洲小说| 亚洲国产综合精品一区在线播放| 日本一区午夜艳熟免费| 亚洲成a人片在线播放| 暖暖免费日本在线中文| 亚洲国产成a人v在线观看| 亚洲国产精品免费在线观看| 亚洲依依成人亚洲社区| 国产精品自在自线免费观看| 成人免费无码H在线观看不卡| 久久久久亚洲av无码专区| 免费视频中文字幕| 久久亚洲AV成人无码国产最大| 免费黄网在线观看| 精品久久久久久国产免费了| 亚洲电影免费观看| 亚洲精品成人区在线观看|