freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ejb怎樣實(shí)現(xiàn)的實(shí)體對(duì)象(完整版)

  

【正文】 對(duì)象,那么讓我們看看它是如何實(shí)現(xiàn)的。JAVA的速度慢是個(gè)老問題了,EJB的速度慢不光是因?yàn)榇罅看a用JAVA實(shí)現(xiàn),而且由于它的結(jié)構(gòu),要根據(jù)數(shù)據(jù)表中的某一個(gè)屬性查出一行數(shù)據(jù),必須首先用SQL查詢查找到這一行的主鍵(Primary Key),然后通過主鍵來找到這個(gè)Bean,如果這個(gè)Bean不在內(nèi)存中很不幸,這種情況經(jīng)常發(fā)生,那么實(shí)際上是執(zhí)行了兩次SQL查詢才找到一行數(shù)據(jù)。事務(wù)處理最好還是用DBMS來管理,因?yàn)樗幌蚬艿煤芎?,而且事?wù)處理的代碼很復(fù)雜,我不打算自己來完成。 //如果不使用事務(wù),這一行可以省去Account a1=new Account(conn)。 =姚大。對(duì)于我們常使用的從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)到對(duì)象中修改對(duì)象屬性更新到數(shù)據(jù)庫(kù)這個(gè)流程,非常容易出現(xiàn)數(shù)據(jù)完整性破壞問題。查詢的時(shí)候不要用,如果查詢后根據(jù)某個(gè)條件有可能修改,那么在查詢時(shí)不加鎖,在修改前重新調(diào)用forUpdate函數(shù)加鎖。請(qǐng)看下面的代碼片斷,它輸出所有的Accout對(duì)象。 ()。_dbStored=false??紤]一種簡(jiǎn)單情況,實(shí)體對(duì)象在關(guān)系數(shù)據(jù)庫(kù)中只用一張表表示。如果數(shù)據(jù)結(jié)構(gòu)預(yù)料會(huì)經(jīng)常修改,最好用這個(gè)辦法。 ()。 //注意,重載update方法必須要有這一句 }//重定義這個(gè)方法,執(zhí)行實(shí)際的sql命令 public void delete() throws SQLException { if (isDbStored()) { PreparedStatement ps=(delete account where accountid = ? )。 (rs)。 return (isDbStored())。 return (isDbStored())。 } /**返回下一個(gè)記錄,子類必須重載這個(gè)函數(shù)*/ abstract public Object nextElement() throws SQLException。 return (eo)。 /*以下是新修改的代碼*/ //定義一個(gè)子類 private class AccountBrowser extends EntityBrowser { AccountBrowser (ResultSet rs) throws SQLException { super(rs)。 ResultSet rs=()。同時(shí)還要修改insert,update方法,使得主表的實(shí)體對(duì)象每次數(shù)據(jù)插入或修改時(shí)都要?jiǎng)h除并重新插入子表的數(shù)據(jù)。對(duì)于一個(gè)視圖,也可以參照定義實(shí)體類的方法定義一個(gè)視圖類,不過要盡量少用視圖類,因?yàn)橐晥D類和其他實(shí)體對(duì)象雖然語法上看不出關(guān)聯(lián),但語義上實(shí)際上是有關(guān)聯(lián)的。而且事務(wù)最好能盡早提交,比如每次select后提交,這樣可以減少數(shù)據(jù)庫(kù)資源的占用。只有出于性能的考慮我們才使用它。另一種方法是把子表看作一個(gè)單獨(dú)的實(shí)體類,實(shí)際上這時(shí)不存在主表和子表的概念了。} 接下來,討論一下數(shù)據(jù)表的連接關(guān)系,關(guān)系數(shù)據(jù)庫(kù)主要有一對(duì)一,一對(duì)多,多對(duì)多,多對(duì)一的關(guān)系。 return (_nextEntityObj(ac))。第一步是要在Account類里定義一個(gè)私有的EntityBrowser子類,這個(gè)子類只要定義一個(gè)構(gòu)造函數(shù)并重載nextElement()方法即可。 } /**瀏覽器構(gòu)造函數(shù),指定一個(gè)數(shù)據(jù)庫(kù)連接*/ public EntityBrowser(ResultSet rs) throws SQLException { _rs=rs。這個(gè)輔助類稱為對(duì)象瀏覽器,下面定義對(duì)象瀏覽器。 PreparedStatement ps= (select AccountId,Name from account where AccountId=? for update)。 PreparedStatement ps= (select AccountId,Name from account where AccountId=?)。 ()。 (1,accountId)。 Public Account(Connection conn){ super(conn)。例如,數(shù)據(jù)庫(kù)里有一個(gè)表account,它只有兩個(gè)字段accountid和name,下面定義它的實(shí)體類。}
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1