亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? java數據對象(jdo)的應用.txt

?? 含有許多JAVA的技巧!
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
false); 
System.out.println("Name : " + person.getName()); 
System.out.println("Address : " + 
person.getAddress()); 
System.out.println("SSN : " + person.getSsn()); 
System.out.println("Email : " + person.getEmail()); 
System.out.println("Home Phone: " + 
person.getHomePhone()); 
System.out.println("Work Phone: " + 
person.getWorkPhone()); 
} 
pm.close(); 
} 
第四步:改變其中一個人的名字 
改變存儲在數據庫中的一個人的信息的代碼也十分簡單,它與顯示數據庫中人的信息的代碼非常類似。在這里,我們需要創建一個事務(因為要修改其中的記錄),使用定義的setName()方法修改一個人的名字,最終提交該事務,保存所作的修改。這種操作與處理臨時對象之間真正的差別是,我們考慮是事務。 
public void change() { 
Person person; 

// 從數據存儲庫中獲取對象 
pm = pmf.getPersistenceManager(); 
transaction = pm.currentTransaction(); 
// 修改第二個保持記錄的DataString字段 
person = (Person) pm.getObjectById(id.elementAt(1), 
false); 
person.setName("Steve Gerrard"); 
// 提交事務并關閉可保持性管理器 
transaction.commit(); 
pm.close(); 
} 
第五步:刪除一個人的資料 
你自己能夠想象出從數據庫中刪除第二個人資料的代碼嗎?因為我們已經了解了所有編寫這一代碼所需要的知識。仔細地研究一下下面的代碼就會發現,我們使用了第二步中的可保持性管理器方法中提到的deletePersistent()方法。 
public void delete() { 
// 從數據庫中獲取對象 
pm = pmf.getPersistenceManager(); 
transaction = pm.currentTransaction(); 
// 從數據庫中刪除第二個人的信息,并從ID向量中刪除其ID 
pm.deletePersistent(pm.getObjectById(id.remove(1), 
false)); 
// 提交事務并關閉可保持性管理器 
transaction.commit(); 
pm.close(); 
} 
第六步:在main()方法中運行上面的代碼 
最后,整個代碼需要有一個main()串起來,在數據庫中輸入人的信息、改變其中一個人的名字,然后刪除該人的資料。如果運行這一程序,就會看到程序運行到每一步時的地址簿。 
public static void main(String[] args) { 
System.out.println("Create PersonPersist"); 
PersonPersist personPersist = new PersonPersist(); 

System.out.println("Setup and persist a group of people"); 
personPersist.persistPeople(); 

System.out.println("Display the persisted people"); 
personPersist.display(SIZE); 

System.out.println("Change a name "); 
personPersist.change(); 
personPersist.display(SIZE); 

System.out.println("Delete a person "); 
personPersist.delete(); 
personPersist.display(SIZE - 1); 
} 
JDOEnhancer:創建JDOEnhancer的JDO描述符 

現在,我們已經編寫好了整個應用程序的源代碼,下一步需要作的就是創建一個JDOEnhancer將要使用的 
JDO描述符。讀者一定會問,JDOEnhancer是什么?JDO架構是基于下面的理念的:一個JDO實現能夠獲取類的字節碼,對它們進行處理,添加一些必要的功能。例如,JDOEnhancer將使類實現PersistanceCapable接口(因此我們不用自己編程實現這一接口),而且能夠實現該接口中的一些方法。因此在對代碼編譯后我們就會發現,我們必須運行JDOEnhancer對字節碼進行適當的處理。我們需要創建一個給出我們需要保持的類的信息的描述符文件,這一文件如下所示: 

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE jdo SYSTEM 
"file:/D:/Apps/OpenFusionJDO/xml/schema/jdo.dtd"> 
<jdo> 
<package name="addressbook"> 
<class name="Person" identity-type="datastore"> 
</class> 
</package> 
</jdo> 
這只是一個最基本的文件,但能夠滿足我們的要求。當然了,還有許多更復雜的映射。下面是OpenFusion例子中一個稍微復雜一些的映射: 
<class name="Department" identity-type="datastore"> 
<field name="name"/> 
<field name="employees"> 
<collection element- 
type="com.prismt.j2ee.jdo.examples.appKeyDepartment.Employee"> 
</collection> 
</field> 
<field name="manager"/> 
</class> 
</package> 
</jdo> 
現在我們已經編寫好了代碼和JDO描述符文件,我們將對它們進行整合,并討論如何建立整個系統。要建立整個系統,我們只需要簡單的幾步工作即可: 
1、編譯代碼。 
2、運行JDOEnhancer。 
3、使用JDOEnhancer的輸出建立數據庫。 
4、運行應用程序。 
第一步:編譯代碼 
我想廣大的讀者想必已經知道如何運行javac了吧。在運行javac之前,我們只要保證正確地設置CLASSPATH就可以了。下面是一個在Windows平臺上運行javac的例子: 
% set OPENFUSION_DIR=D:\Apps\OpenFusionJDO 
% set 
CLASSPATH=%OPENFUSION_DIR%\lib\connector.jar;%OPENFUSION_DIR%\ 
lib\jndi.jar;%OPENFUSION_DIR%\lib\log4j.jar;%OPENFUSION_DIR%\l 
ib\xerces.jar;%OPENFUSION_DIR%\lib\classes12.zip;%OPENFUSION_D 
IR%\lib\jdo.jar;%OPENFUSION_DIR%\lib\jta- 
spec1_0_1.jar;%OPENFUSION_DIR%\lib\ofjdo.jar;. 

% javac –d . Person*.java 
第二步:運行JDOEnhancer 
JDOEnhancer需要使用在上一步編譯中得到的字節碼和我們先前建立的JDO描述符文件。下面是OpenFusion JDOEnhancer的完整語法: 
java com.prismt.j2ee.jdo.enhancer.JDOEnhancer 

命令選項: 
-cp 開始搜索需要強化的類的基本路徑,與CLASSPATH不同,它是編譯后的可保持類所在的目錄 
-oc 存儲強化后的類的目錄 
-pd JDO描述符文件 

可選項: 
-db 指定目標數據庫 [oracle、sybase等] 
-od 生成SQL腳本的目錄 

下面是為建立我們的應用程序而運行JDOEnhancer的一個例子: 
% java com.prismt.j2ee.jdo.enhancer.JDOEnhancer -oc . -pd 
person.jdo -db oracle -od db -cp . 
第三步:使用JDOEnhancer的輸出建立數據庫 
,只要使用–db和-od可選項,JDOEnhancer就能夠創建建立數據庫的數據庫腳本。它能夠創建許多腳本,但其中有一個的名字叫load_all.sql,打開該文件并將它加載到一個SQL提示符中。(例如sqlplus for Oracle) 

CREATE SEQUENCE instid_seq INCREMENT BY 1 
; 

CREATE TABLE JDO_addressbook_Person_SCO 
( 
inst_id INTEGER NOT NULL, 
class INTEGER NOT NULL, 
JDO_address VARCHAR2(255), 
JDO_email VARCHAR2(255), 
JDO_homePhone VARCHAR2(255), 
JDO_name VARCHAR2(255), 
JDO_ssn VARCHAR2(255), 
JDO_workPhone VARCHAR2(255) 
) 
; 
CREATE TABLE JDO_addressbook_Person 
( 
inst_id INTEGER NOT NULL, 
class INTEGER NOT NULL, 
JDO_address VARCHAR2(255), 
JDO_email VARCHAR2(255), 
JDO_homePhone VARCHAR2(255), 
JDO_name VARCHAR2(255), 
JDO_ssn VARCHAR2(255), 
JDO_workPhone VARCHAR2(255) 
) 
; 
CREATE TABLE prismjdoProp 
( 
name VARCHAR2(255) PRIMARY KEY, 
value VARCHAR2(255) 
) 
; 
CREATE TABLE prismjdoExtents 
( 
class_id NUMBER(38,0) PRIMARY KEY, 
class_name VARCHAR2(255) UNIQUE, 
app_key VARCHAR2(255) 
) 
; 
ALTER TABLE JDO_addressbook_Person_SCO ADD PRIMARY KEY (inst_id, class) 
; 
ALTER TABLE JDO_addressbook_Person ADD PRIMARY KEY (inst_id,class) 
; 

INSERT INTO prismjdoExtents VALUES(0, 'addressbook.Person','com.prismt.j2ee.jdo.spi.DBKey') 
; 
COMMIT WORK 
; 

INSERT INTO prismjdoProp VALUES('USE.RDBMS.TRIGGERS', 'true') 
; 
COMMIT WORK 
; 
第四步:運行應用程序 
現在已經建立了數據庫,我們就可以運行應用程序了。怎么樣,分享一下自己的勞動成果吧! 
% java addressbook.PersonPersist 
結束語 
我們已經討論了如何使用OpenFusion JDO實現來處理JDO標準。這是一個全新的領域,開發人員可以集中精力處理業務需求和對象,而無需對SQL十分精通。

本欄文章均來自于互聯網,版權歸原作者和各發布網站所有,本站收集這些文章僅供學習參考之用。任何人都不能將這些文章用于商業或者其他目的。( ProgramFan.Com )
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区小说| 精品三级在线观看| 9人人澡人人爽人人精品| 狠狠狠色丁香婷婷综合激情| 日韩va欧美va亚洲va久久| 日韩极品在线观看| 日本不卡1234视频| 久久精品国产精品青草| 99v久久综合狠狠综合久久| 国内国产精品久久| 国产精品77777| 成人av免费在线播放| 色婷婷综合视频在线观看| 在线观看亚洲a| 51精品国自产在线| 精品久久久久久久久久久久包黑料 | 亚洲精品国产一区二区精华液| 久久综合色之久久综合| 久久精品亚洲精品国产欧美| 国产精品三级在线观看| 一区二区三区国产精华| 婷婷开心久久网| 国产精品一区二区不卡| 色综合色综合色综合| 69堂国产成人免费视频| 久久久www成人免费毛片麻豆| 国产精品美女久久久久高潮| 亚洲福利视频导航| 国产精品一品视频| 欧美日韩视频不卡| 国产精品久久久久一区| 日韩在线一二三区| 99re成人在线| 精品国产乱码久久久久久久| 亚洲人成在线播放网站岛国| 久久成人av少妇免费| 色综合一个色综合| 精品国产伦一区二区三区免费| 国产精品第四页| 美日韩一区二区三区| 色悠悠亚洲一区二区| 久久久精品欧美丰满| 日韩中文欧美在线| 色94色欧美sute亚洲线路一久| 欧美变态凌虐bdsm| 亚洲成人自拍一区| 不卡视频一二三四| 337p粉嫩大胆噜噜噜噜噜91av| 一区二区三区四区在线免费观看| 久久99精品一区二区三区| 在线亚洲人成电影网站色www| 久久精品亚洲麻豆av一区二区| 午夜精品久久久久久久久久 | 欧美唯美清纯偷拍| 中文字幕一区二区三区在线不卡| 蜜桃视频一区二区| 欧美日韩精品久久久| 国产精品久久毛片a| 国产高清视频一区| 亚洲精品一区二区三区在线观看 | 亚洲精品综合在线| 成人免费毛片a| 26uuu亚洲综合色欧美| 看片的网站亚洲| 91麻豆精品国产| 午夜一区二区三区视频| 欧美日韩精品一区二区| 五月婷婷激情综合| 678五月天丁香亚洲综合网| 天堂午夜影视日韩欧美一区二区| 亚洲精品一线二线三线无人区| 亚洲成a人v欧美综合天堂下载| 97se狠狠狠综合亚洲狠狠| 国产精品嫩草影院av蜜臀| 国产精品夜夜嗨| 国产女同性恋一区二区| 春色校园综合激情亚洲| 中文字幕av一区二区三区| 大胆亚洲人体视频| 亚洲欧美国产高清| 欧美色图一区二区三区| 日韩专区中文字幕一区二区| 3atv一区二区三区| 麻豆久久一区二区| 国产亚洲午夜高清国产拍精品| 国产精品综合一区二区三区| 国产欧美1区2区3区| gogo大胆日本视频一区| 一区二区三区四区精品在线视频| 在线国产电影不卡| 七七婷婷婷婷精品国产| 欧美一二三在线| 国产精品白丝jk白祙喷水网站| 国产精品久久久久久亚洲毛片 | 成人永久aaa| 亚洲免费在线播放| 日韩一区和二区| 国产成人8x视频一区二区| 中文字幕永久在线不卡| 欧美巨大另类极品videosbest| 久久99热这里只有精品| 亚洲视频一区二区在线| 欧美一区二区三区人| 国产91精品露脸国语对白| 亚洲一级不卡视频| 2017欧美狠狠色| 在线观看成人小视频| 国产乱妇无码大片在线观看| 亚洲图片你懂的| 精品欧美一区二区久久| 91视频国产资源| 国产在线精品一区二区夜色| 亚洲美腿欧美偷拍| 久久久激情视频| 欧美日韩黄色一区二区| 国产精品18久久久久| 亚洲二区在线视频| 国产蜜臀av在线一区二区三区| 欧美网站大全在线观看| 成人一级片网址| 国产中文字幕精品| 亚洲电影视频在线| 亚洲美女淫视频| 欧美激情艳妇裸体舞| 精品国产露脸精彩对白| 欧美性猛片aaaaaaa做受| 粉嫩久久99精品久久久久久夜| 免费成人在线观看视频| 尤物av一区二区| 最新不卡av在线| 中文字幕欧美激情一区| 2020国产精品| 精品久久久久99| 日韩视频中午一区| 在线成人午夜影院| 91国产精品成人| 91麻豆蜜桃一区二区三区| 国产宾馆实践打屁股91| 久久99热狠狠色一区二区| 强制捆绑调教一区二区| 国产精品77777| 国产伦精品一区二区三区免费迷| 日本女人一区二区三区| 天使萌一区二区三区免费观看| 亚洲一区国产视频| 亚洲国产成人va在线观看天堂| 亚洲男人的天堂av| 日韩美女视频一区| 亚洲色图一区二区| 一区二区三区欧美视频| 一区二区三区美女| 亚洲国产美女搞黄色| 亚洲香肠在线观看| 日本一不卡视频| 久久不见久久见中文字幕免费| 奇米888四色在线精品| 久久成人羞羞网站| 国产精品1024久久| 97久久精品人人爽人人爽蜜臀| 91免费观看国产| 欧美三区在线观看| 91麻豆精品91久久久久久清纯| 日韩欧美区一区二| 国产亚洲精久久久久久| 国产精品福利av| 亚洲永久免费视频| 美女视频黄a大片欧美| 国产一区二区三区国产| gogo大胆日本视频一区| 欧美视频你懂的| 亚洲精品一区二区三区精华液| 国产精品乱码一区二区三区软件| 综合中文字幕亚洲| 免费成人在线网站| 成人天堂资源www在线| 欧美性淫爽ww久久久久无| 91精品黄色片免费大全| 亚洲国产激情av| 视频一区二区三区中文字幕| 久久成人免费电影| 色婷婷国产精品| 日韩精品一区在线| 亚洲天堂免费看| 蜜桃av一区二区三区| 成人美女在线视频| 欧美人与z0zoxxxx视频| 国产色综合一区| 亚洲h在线观看| 成人av电影免费观看| 日韩免费观看高清完整版| 亚洲婷婷综合久久一本伊一区 | 亚洲国产精华液网站w| 亚洲成人免费电影| 成人免费黄色在线| 日韩午夜中文字幕| 亚洲国产综合在线| 成人av中文字幕| 精品伦理精品一区| 亚洲成av人片在线观看| 波多野结衣中文一区|