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

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

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

    ∪∩deniable Design

    個人JAVA版GAE(google app engine),struts2+jpa+jQuery開發,互相交流 http://iunbug.appspot.com/
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    關于如何配置請參看:Hibernate學習筆記(一)--用MyEclipse 6.5+MySQL 5.0的環境跑起來

    準備:建表

    用MySQL在名為STMS數據庫中建表

    Titem

    Tbook

    Tdvd

     src/org.lxh.hibernate3.TItem.java

     1package org.lxh.hibernate3;
     2/** 
     3 * @author ∪∩BUG E-mail: tidelgl@163.com
     4 * @version Aug 31, 2008 3:27:51 PM 
     5 * @父類
     6 */

     7public class TItem {
     8
     9    private String id;
    10    private String name;
    11    private String manufacturer;
    12
    13    public String getId() {
    14        return id;
    15    }

    16
    17    public void setId(String id) {
    18        this.id = id;
    19    }

    20
    21    public String getName() {
    22        return name;
    23    }

    24
    25    public void setName(String name) {
    26        this.name = name;
    27    }

    28
    29    public String getManufacturer() {
    30        return manufacturer;
    31    }

    32
    33    public void setManufacturer(String manufacturer) {
    34        this.manufacturer = manufacturer;
    35    }

    36
    37}

    38


     src/org.lxh.hibernate3.TBook.java

     1package org.lxh.hibernate3;
     2
     3/**
     4 * @author ∪∩BUG E-mail: tidelgl@163.com
     5 * @version Aug 31, 2008 3:31:47 PM @ 繼承父類TItem
     6 */

     7public class TBook extends TItem {
     8
     9    private int pageCount;
    10
    11    public int getPageCount() {
    12        return pageCount;
    13    }

    14
    15    public void setPageCount(int pageCount) {
    16        this.pageCount = pageCount;
    17    }

    18}

    19


     src/org.lxh.hibernate3.TDvd.java

     1package org.lxh.hibernate3;
     2/** 
     3 * @author ∪∩BUG E-mail: tidelgl@163.com
     4 * @version Aug 31, 2008 3:34:06 PM 
     5 * @ 繼承父類TItem
     6 */

     7public class TDvd extends TItem {
     8
     9    private String regionCode;
    10
    11    public String getRegionCode() {
    12        return regionCode;
    13    }

    14
    15    public void setRegionCode(String regionCode) {
    16        this.regionCode = regionCode;
    17    }

    18
    19}

    20


     src/org.lxh.hibernate3.Titem.hbm.xml

     1xml version="1.0" encoding="utf-8"?>
     2DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     3"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     4
     7<hibernate-mapping>
     8    
     9    <class name="org.lxh.hibernate3.TItem" table="titem"
    10        catalog="stms">
    11        <id name="id" type="java.lang.String">
    12            <column name="id" length="32" />
    13            <generator class="assigned" />
    14        id>
    15        <property name="name" type="java.lang.String">
    16            <column name="name" length="20" not-null="true" />
    17        property>
    18        <property name="manufacturer" type="java.lang.String">
    19            <column name="manufacturer" length="20" />
    20        property>
    21
    22        
    28        <joined-subclass name="org.lxh.hibernate3.TBook"
    29            table="TBook">
    30            <key column="id">key>
    31            <property name="pageCount" type="int"
    32                column="pagecount">
    33            property>
    34        joined-subclass>
    35        <joined-subclass name="org.lxh.hibernate3.TDvd" table="TDvd">
    36            <key column="id">key>
    37            <property name="regionCode" type="string"
    38                column="regioncode">
    39            property>
    40        joined-subclass>
    41    class>
    42hibernate-mapping>
    43


     src/hibernate.cfg.xml

     1xml version='1.0' encoding='UTF-8'?>
     2DOCTYPE hibernate-configuration PUBLIC
     3          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
     4          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
     5
     6
     7<hibernate-configuration>
     8
     9<session-factory>
    10    <property name="connection.username">rootproperty>
    11    <property name="connection.url">
    12        jdbc:mysql://localhost:3306/STMS
    13    property>
    14    <property name="dialect">
    15        org.hibernate.dialect.MySQLDialect
    16    property>
    17    <property name="myeclipse.connection.profile">
    18        MySql_localhost
    19    property>
    20    <property name="connection.password">rootproperty>
    21    <property name="connection.driver_class">
    22        com.mysql.jdbc.Driver
    23    property>
    24    <property name="show_sql">trueproperty>
    25
    26    
    27    <mapping resource="org/lxh/hibernate3/Titem.hbm.xml" />
    28
    29session-factory>
    30
    31hibernate-configuration>


     src/org.lxh.hibernate3.TItemOperate.java

     1package org.lxh.hibernate3;
     2
     3
     4
     5import java.util.Iterator;
     6
     7import org.hibernate.Query;
     8import org.hibernate.Session;
     9import org.hibernate.SessionFactory;
    10import org.hibernate.cfg.Configuration;
    11
    12/** 
    13 * @author ∪∩BUG E-mail: tidelgl@163.com
    14 * @version Aug 31, 2008 4:08:14 PM 
    15 * @具體操作Hibernate類
    16 */

    17public class TItemOperate {
    18    private Session session;
    19
    20    public TItemOperate() {
    21        //找到Hibernate配置文件
    22        Configuration config = new Configuration().configure();
    23        
    24        //從全局文件中取出SessionFactory
    25        SessionFactory factory = config.buildSessionFactory();
    26        
    27        //從SessionFactory取出一個session
    28        this.session = factory.openSession();
    29    }

    30
    31    //插入操作
    32    //TBook和TDvd類都是TItem的子類,所以只需往TItem里插入就可以了.
    33    public void insert(TItem item) {
    34        //執行語句
    35        this.session.save(item);
    36        
    37        //開始事務.提交事務
    38        this.session.beginTransaction().commit();
    39        this.session.close();
    40    }

    41    
    42    //查詢操作
    43    //TBook和TDvd類都是TItem的子類,所以只需查詢TItem的ID就可以了.
    44    public TItem QueryById(String id) {
    45        TItem item = new TItem();
    46        String hql = "FROM TItem as t WHERE t.id=?";
    47        Query q = this.session.createQuery(hql);
    48        q.setString(0, id);
    49        Iterator iter = q.list().iterator();
    50        if(iter.hasNext()){
    51            item = (TItem)iter.next();
    52        }

    53        return item;
    54    }

    55}

    56


     src/org.lxh.hibernate3.Test.java

     1package org.lxh.hibernate3;
     2
     3/**
     4 * @author ∪∩BUG E-mail: tidelgl@163.com
     5 * @version Aug 31, 2008 4:26:26 PM
     6 * @測試類
     7 */

     8public class Test {
     9
    10    /**
    11     * @param args
    12     */

    13    /**
    14     * @param args
    15     */

    16    public static void main(String[] args) {
    17
    18        TItemOperate to = new TItemOperate();
    19        
    20        /*
    21        // 向數據庫中插入數據
    22        TBook book = new TBook();
    23        book.setId("02");
    24        book.setName("Hibernate");
    25        book.setPageCount(31);
    26        book.setManufacturer("Hibernate.org");
    27
    28        to.insert(book);
    29        
    30        TDvd dvd = new TDvd();
    31        dvd.setId("03");
    32        dvd.setManufacturer("Apache.org");
    33        dvd.setName("Struts2");
    34        dvd.setRegionCode("87");
    35        
    36        to.insert(dvd);
    37        */

    38        
    39        //查詢數據庫
    40        TBook book = (TBook)to.QueryById("01");
    41        System.out.println(book.getName());
    42    }

    43
    44}

    45

     

    例子結構:


    評論

    # re: Hibernate學習筆記(四)-- 實體層設計之Table per subclass   回復  更多評論   

    2008-09-01 17:34 by ∪∩BUG
    學到這里才感慨java沒有白學.
    主站蜘蛛池模板: 亚洲日韩中文字幕在线播放| 亚洲国产精品一区二区久| a视频在线观看免费| 亚洲综合精品一二三区在线| 国产精品爱啪在线线免费观看| 亚洲人成网站18禁止| 久久精品夜色噜噜亚洲A∨| 在线日本高清免费不卡| 青青青亚洲精品国产| 亚洲AV日韩精品久久久久| 成人免费a级毛片无码网站入口 | 亚洲国产精品毛片av不卡在线| 毛片在线播放免费观看| 亚洲中文字幕无码av永久| 亚洲一区二区三区影院 | 日本特黄特黄刺激大片免费| 久久久久免费精品国产| 亚洲AⅤ男人的天堂在线观看 | 日韩亚洲AV无码一区二区不卡| 国产一区视频在线免费观看| 亚洲午夜免费视频| 免费精品视频在线| 亚洲最大的成人网站| 无码乱人伦一区二区亚洲| 亚洲 自拍 另类小说综合图区| 97在线观看永久免费视频| XXX2高清在线观看免费视频| 亚洲精华国产精华精华液网站| 亚洲av片劲爆在线观看| 又爽又高潮的BB视频免费看| 青青青免费国产在线视频小草| 热久久这里是精品6免费观看| 激情无码亚洲一区二区三区 | 97在线视频免费| 你是我的城池营垒免费观看完整版| 日本亚洲色大成网站www久久 | 视频一区二区三区免费观看| 亚洲天堂2016| 亚洲黄色片免费看| 亚洲成AV人片在线观看无码| 国产亚洲成人久久|