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

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

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

    隨筆-21  評(píng)論-29  文章-0  trackbacks-0
    引入
      模型不匹配(阻抗不匹配)
            Java面向?qū)ο笳Z(yǔ)言,對(duì)象模型,其主要概念有:繼承、關(guān)聯(lián)、多態(tài)等;
            數(shù)據(jù)庫(kù)是關(guān)系模型,其主要概念有:表、主鍵、外鍵等。
      解決方法:
           使用JDBC手工轉(zhuǎn)換;
           使用ORM(Object Relation Mapping對(duì)象關(guān)系映射)框架來(lái)解決,主流的ORM框架有Hibernate、TopLink、OJB。
    安裝配置
          下載地址:http://www.hibernate.org,本學(xué)習(xí)課程采用3.2.5.
           將下載目錄/hibernate3.jar和/lib下的hibernate運(yùn)行時(shí)必須得包加入到classpath中:antlr.jar   cglib.jar    asm.jar   commons-collections.jar  commons-logging.jar   jta.jar   dom4j.jar

           配置文件hibernate.cfg.xml和hibernate.properties,XML和properties兩種,這兩個(gè)文件的作用一樣,提供一個(gè)即可,推薦XML格式,下載目錄/etc下是示例配置文件。
          可以再配置文件指定:數(shù)據(jù)庫(kù)的URL、用戶名、密碼、JDBC驅(qū)動(dòng)類、方言等。
          啟動(dòng)時(shí)Hibernate會(huì)在CLASSPATH里找這個(gè)配置文件。
           映射文件(hbm.xml,對(duì)象模型和關(guān)系模型的映射)。在/eg目錄下有完整的Hibernate示例。
     快速開始小例子
    新建一java工程 命名為hibernate。
    新建一User類


    package cn.itcast.hibernate.domain;

    import java.util.Date ;
    public class User {
        
    private int id ;
        
    private String name ;
        
    private Date birthday ;
        
    public int getId() {
            
    return id;
        }

        
    public void setId(int id) {
            
    this.id = id;
        }

        
    public String getName() {
            
    return name;
        }

        
    public void setName(String name) {
            
    this.name = name;
        }

        
    public Date getBirthday() {
            
    return birthday;
        }

        
    public void setBirthday(Date birthday) {
            
    this.birthday = birthday;
        }

        
    }

    導(dǎo)入hibernate相關(guān)的jar包,包括hibernate里面的所有包 以及MySQL數(shù)據(jù)庫(kù)相應(yīng)的驅(qū)動(dòng)包
    cn.itcast.hibernate.domain下新建 User.hbm.xml文件 代碼如下
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC 
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
    >
    <hibernate-mapping package="cn.itcast.hibernate.domain">

        
    <class name="User">
            
    <id name="id">
                
    <generator class="native" />
            
    </id>
            
            
    <property name="name"/>
            
    <property name="birthday"/>
            
        
    </class>
    </hibernate-mapping>
    在src下新建 hibernate.cfg.xml文件 代碼如下
    <!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
    >

    <hibernate-configuration>
        
    <session-factory>
            
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            
    <property name="connection.url">jdbc:mysql:///test</property>
            
    <property name="connection.username">root</property>
            
    <property name="connection.password">root</property>    
            
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
            
            
    <property name="connection.password">root</property>
            
    <property name="hbm2ddl.auto">create</property>
                
            
    <mapping resource="cn/itcast/hibernate/domain/User.hbm.xml"/>
            
        
    </session-factory>
    </hibernate-configuration>
    cn.itcast.hibernate包下新建 類Base類 代碼如下
    package cn.itcast.hibernate;
    import java.util.Date;

    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;

    import cn.itcast.hibernate.domain.User;
    import org.hibernate.Transaction;
    public class Base {

        
    public static void main(String[] args) {
            Configuration cfg 
    = new Configuration() ;
            cfg.configure();
            SessionFactory sf 
    = cfg.buildSessionFactory();
            
            Session s 
    = sf.openSession();
            Transaction tx 
    = s.beginTransaction();
            User user 
    = new User();
            user.setBirthday(
    new Date());
            user.setName(
    "name");
            
            s.save(user);
            tx.commit();
            s.clear();
            System.out.println(
    "end");
        }


    }


    運(yùn)行 Base類 查看數(shù)據(jù)庫(kù) 證明第一個(gè)hibernate程序運(yùn)行成功!


    大概用了一個(gè)下午才運(yùn)行出這個(gè)程序,不大習(xí)慣用MYSQL這個(gè)數(shù)據(jù)庫(kù),搞得頭都大了!今天草草結(jié)束這個(gè)實(shí)例,明天再好好分析一下!
    本案例代碼hibernatefile
    posted on 2009-05-03 15:47 特立獨(dú)行 閱讀(430) 評(píng)論(0)  編輯  收藏 所屬分類: Hibernate框架
    主站蜘蛛池模板: youjizz亚洲| 免费观看四虎精品成人| 色妞WWW精品免费视频| 亚洲中文字幕久久精品无码A | 亚洲AV色欲色欲WWW| 亚洲无码精品浪潮| 精品一区二区三区无码免费视频| 亚洲免费在线视频播放| 亚洲?V无码乱码国产精品| 无码国产精品一区二区免费vr| 亚洲已满18点击进入在线观看| 亚洲精品国产高清嫩草影院| 午夜不卡久久精品无码免费 | 国产成人精品日本亚洲直接| 亚洲男人av香蕉爽爽爽爽| 97国产在线公开免费观看| 猫咪免费观看人成网站在线| 亚洲综合在线视频| 无码国产亚洲日韩国精品视频一区二区三区| 3344在线看片免费| 国产精品亚洲а∨天堂2021| 久久久无码精品亚洲日韩按摩| 四虎影在线永久免费四虎地址8848aa| 男人j进入女人j内部免费网站| 偷自拍亚洲视频在线观看99| 亚洲伊人tv综合网色| 亚洲日韩人妻第一页| 好男人看视频免费2019中文| 一级毛片免费不卡| 亚洲精品亚洲人成在线| 亚洲美女aⅴ久久久91| 久久久久亚洲精品天堂久久久久久| 日韩精品无码区免费专区| 久久免费观看国产精品88av| 日韩免费在线中文字幕| 亚洲色无码专区一区| 亚洲国产精品lv| 丝袜熟女国偷自产中文字幕亚洲| 最近免费中文字幕大全视频| 亚洲一区免费在线观看| 久久精品国产大片免费观看|