国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java數據對象(JDO)介紹(四)

2019-11-18 16:20:14
字體:
來源:轉載
供稿:網友

  Kodo JDO 規范

Kodo JDO包含自己的類來創建數據庫模型和增強類。

模型生成工具被用于揣安數據庫模型,這個模型將被用于存儲JDO對象實例。工具正式支持的數據庫包括:

DB2
InstantDB
SQLServer
MySQL
Oracle
PostgreSQL
其他數據庫的JDBC驅動可以通過擴展代碼被加入。詳細內容參考Kodo JDO的文檔。

模型創建工具要依賴于一個package.jdo文件,這個文件被用于定義JDO實例類的一些細節。下面的文件被用于這個例子。可以查看Kodo JDO的文檔來獲得文件格式和概念的詳細信息。

    <?xml version="1.0"?>    <jdo>        <package name="com.ociweb.jdodemo">            <class name="Engine"/>            <class name="Vehicle"/>            <class name="Bicycle" persistence-capable-superclass="Vehicle"/>            <class name="MotorVehicle" persistence-capable-superclass="Vehicle"/>            <class name="Fleet">                <field name="vehicles">                    <collection element-type="Vehicle"/>                </field>            </class>        </package>    </jdo>    

schematool.bat文件被用來運行模型創建工具。.jdo文件必須作為一個參數放到命令行中。

schematool.bat package.jdo

一旦模型被創建,域對象的類文件必須被增強以實現PersistenceCapable 接口。jdoc.bat文件被用于運行類增強器。jdoc.bat批處理文件也需要package.jdo文件作為參數方到命令行中。

jdoc.bat package.jdo

上面演示的模型創建和類增強是Kodo JDO實現特有的,它并不是JDO規范的一部分。其他的廠商也許有他們自己的方法來完成以上部分,具體實現要參考廠商的文檔。

向數據庫增加數據
由于數據庫已經配置完成并且我們的域對象也已經設計好了,代碼也通過增強實現了PersistenceCapable接口,現在那些類的可以被實例化并添加到數據庫中了。

下面的類將實例化一個Fleet,給他添加幾條數據然后把它存儲到數據庫中。

    /**     * SeedDatabase.java     */    package com.ociweb.jdodemo;        // 廠商實現的PersistenceManagerFactory    import com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory;        import javax.jdo.PersistenceManager;    import javax.jdo.Transaction;        public class SeedDatabase {            public static void main(String[] args) {            // 創建一個vehicles的fleet...            Fleet fleet = new Fleet();            fleet.addVehicle(new Bicycle("Schwinn"));            fleet.addVehicle(new Bicycle("Giant"));            fleet.addVehicle(new MotorVehicle(4, new Engine(8)));            fleet.addVehicle(new MotorVehicle(2, new Engine(4)));            fleet.addVehicle(new MotorVehicle(4, new Engine(4)));                // 獲得的一個PersistenceManager...            PersistenceManager pm =                    new JDBCPersistenceManagerFactory().getPersistenceManager();                // 開始一個transaction...            Transaction transaction = pm.currentTransaction();            transaction.begin();                // 存儲 fleet...            pm.makePersistent(fleet);                // 提交transaction...            transaction.commit();                // 關閉 manager...            pm.close();        }    }    

從數據庫中獲得數據
下面的代碼從數據庫中獲得類的所有實例(包括子類的)并且把他們打引導控制臺。


    /**     * ListAll.java     */    package com.ociweb.jdodemo;        // 廠商實現的PersistenceManagerFactory        import com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory;        import javax.jdo.Extent;    import javax.jdo.PersistenceManager;    import javax.jdo.PersistenceManagerFactory;    import javax.jdo.Query;    import java.util.Collection;    import java.util.Iterator;        public class ListAll {            public static void main(String[] args) {                // 廠商特定的工廠實現...            PersistenceManagerFactory managerFactory =                    new JDBCPersistenceManagerFactory();                // 獲得一個 manager...            PersistenceManager manager =                    managerFactory.getPersistenceManager();                Extent ext = manager.getExtent(Vehicle.class, true);            Query query = manager.newQuery(Vehicle.class, ext, "");            Collection vehicles = (Collection) query.execute();            Iterator iterator = vehicles.iterator();            while (iterator.hasNext()) {                Vehicle vehicle = (Vehicle) iterator.next();                System.out.access1.sun.com/jdo/
JDO規范- http://www.jcp.org/jsr/detail/12.jsp
JSR - http://www.jcp.org/jsr/overview/index.jsp
JDBC - http://java.sun.com/prodUCts/jdbc/
JDO Central - http://www.jdocentral.com/
Poet FastObjects JDO - http://www.fastobjects.com/FO_Products_FastObjectsj1_Body.Html
PrismTech OpenFusion JDO - http://www.prismtechnologies.com/English/Products/JDO/index.html
Signsoft IntelliBO JDO - http://www.signsoft.com/en/intellibo/jdo.jsp
SolarMetric Kodo JDO - http://www.solarmetric.com/Software/Kodo_JDO/

from javaresearch

(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新乡市| 双流县| 仁化县| 临潭县| 萝北县| 明溪县| 张家口市| 中方县| 蒙自县| 天台县| 安阳县| 南溪县| 桃园市| 庄浪县| 九江县| 宣化县| 九江县| 湛江市| 屏山县| 桑日县| 沈阳市| 永靖县| 安康市| 木兰县| 武宁县| 神池县| 舞阳县| 四会市| 玉林市| 宜宾县| 浙江省| 锦州市| 江油市| 夏津县| 江城| 襄汾县| 沁阳市| 泸定县| 康乐县| 定日县| 江油市|