<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數據庫中建表Titems

     src/org.lxh.hibernate4.TItems.java

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

     7public class TItems {
     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.hibernate4.TDvds.java

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

     7public class TDvds extends TItems {
     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.hibernate4.TBooks.java

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

     8public class TBooks extends TItems {
     9
    10    private int pageCount;
    11
    12    public int getPageCount() {
    13        return pageCount;
    14    }

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

    19}

    20


     src/org.lxh.hibernate4.Titems.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    <class name="org.lxh.hibernate4.TItems" table="titems"
     9        catalog="stms">
    10        <id name="id" type="java.lang.String">
    11            <column name="id" length="32" />
    12            <generator class="assigned" />
    13        id>
    14        <property name="name" type="java.lang.String">
    15            <column name="name" length="20" not-null="true" />
    16        property>
    17        <property name="manufacturer" type="java.lang.String">
    18            <column name="manufacturer" length="20" not-null="true" />
    19        property>
    20        
    21        
    27        <discriminator type="string" column="category">discriminator>
    28        <subclass name="org.lxh.hibernate4.TBooks"
    29            discriminator-value="1">
    30            <property name="pageCount" type="java.lang.Integer">
    31                <column name="pageCount" />
    32            property>
    33        subclass>
    34        <subclass name="org.lxh.hibernate4.TDvds"
    35            discriminator-value="2">
    36            <property name="regionCode" type="java.lang.String">
    37                <column name="regionCode" length="2" />
    38            property>
    39        subclass>
    40    class>
    41hibernate-mapping>
    42


     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/hibernate4/Titems.hbm.xml" />
    28
    29session-factory>
    30
    31hibernate-configuration>


     src/org.lxh.hibernate4.TItemsOperate.java

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

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

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

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

    51        return item;
    52    }

    53}

    54


     src/org.lxh.hibernate4.Test.java

     1package org.lxh.hibernate4;
     2
     3import java.awt.print.Book;
     4
     5/** 
     6 * @author ∪∩BUG E-mail: tidelgl@163.com
     7 * @version Aug 31, 2008 10:52:25 PM 
     8 * 類說明 
     9 */

    10public class Test {
    11
    12    public static void main(String[] args) {
    13        
    14        TItemsOperate to = new TItemsOperate();
    15        
    16        //插入數據
    17        TBooks books = new TBooks();
    18        books.setId("03");
    19        books.setManufacturer("Apache.org");
    20        books.setName("Struts");
    21        books.setPageCount(10);
    22        
    23        to.insert(books);
    24
    25//        TDvds dvds = new TDvds();
    26//        dvds.setId("02");
    27//        dvds.setManufacturer("MySQL.com");
    28//        dvds.setName("MySQL");
    29//        dvds.setRegionCode("31");
    30//        
    31//        to.insert(dvds);
    32        
    33        //查詢操作
    34//        TBooks books = (TBooks)to.QueryById("01");
    35//        System.out.println(books.getName());
    36    }

    37
    38}

    39

     

    例子結構:


    評論

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

    2008-09-01 17:35 by ∪∩BUG
    學完這節才真正體會Hibernate的實用和強大.
    主站蜘蛛池模板: yellow免费网站| 国产精品99久久免费观看| 亚洲国产精品久久久久秋霞小| 亚洲制服在线观看| 国产成人精品曰本亚洲79ren| 亚洲国产精品成人| 1000部无遮挡拍拍拍免费视频观看| A级毛片高清免费视频在线播放| 精品国产一区二区三区免费| 免费观看91视频| 无码人妻精品中文字幕免费| 免费无遮挡无码永久视频| 91九色老熟女免费资源站| 无码乱肉视频免费大全合集| 成年男女免费视频网站| 中文字字幕在线高清免费电影| 中文字幕在线成人免费看| 国产成年无码久久久免费| 一区二区三区四区免费视频| 久久精品国产免费观看| 成人免费一区二区无码视频| 国产无遮挡色视频免费视频| 日韩在线播放全免费| A级毛片内射免费视频| 日本高清免费网站| 亚洲无码黄色网址| 亚洲av无码不卡一区二区三区| 亚洲特级aaaaaa毛片| 亚洲精品伦理熟女国产一区二区 | 成人性生活免费视频| 国产美女做a免费视频软件| 亚洲精品乱码久久久久久不卡| 四虎在线视频免费观看| 91频在线观看免费大全| 免费无码又爽又刺激毛片| 4455永久在线观免费看| 免费视频淫片aa毛片| 亚洲乱码国产一区网址| 4480yy私人影院亚洲| 亚洲Av永久无码精品黑人| 中文字幕免费在线看|