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

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

?? 十分鐘在jb里面運行hibernate的簡單例子。.txt

?? Hibernate使用說明書
?? TXT
字號:
作者:getdown(MSN:java_xml@msn.com)

整理者:smallduzi(msn:smallduzi@sohu.com)

版權聲明:本文嚴禁轉載,如有轉載請求,請和作者聯系

終于有點對hibernate入門的感覺。方便門外的學習者,給一個簡單的入門例子。

如果你有用過其他持久架構 轉到hibernate其實很簡單。一些原理方面就不講了,

robbin講的肯定比我好的多,自己去精華版看看。

我所給的只是我當初剛開始接觸hibernate時候很想要的一個簡單例子和設置方法。

一直沒有找到,所以現在放到這里給大家看看,(只給想要入門的一個直觀的感應,呵呵) 

首先當然要新建一個項目

然后在Project Properties->Paths->Required Libraries->add->new 這里定義hibernate的類庫 把hibernate的lib下面的所有jar包進去 當然還有hibernate2.jar也要

然后一路ok下去就可以了。

再來就是hibernate.properties 

從hibernate的src下面找到 

把它拷到你項目的src目錄下

(什么,你的項目沒有src目錄,新建一個隨便的類就有src目錄了)

這樣一個JB下面的hibernate的開發環境就好了

然后在hibernate.properties里面設置你的數據庫連接 

默認是HypersonicSQL 

嗯 接下來的是你最想要做的事情了 其實很簡單 

新建一個類Message.java

代碼如下

package hello;

import java.io.Serializable;

/**
 * @author getdown
 * @version 1.0
 */

public class Message implements Serializable {
  private Long id;
  private String text;
  //定義一個簡單鏈表 指向另外的一個Message
  private Message nextMessage;
  public Message() {}

  public Message(Long id) {
    this.id = id;
  }

  public Message(String text) {
    this.text = text;
  }

  public Message(Long id, String text) {
    this.id = id;
    this.text = text;
  }

  public Long getId() {
    return id;
  }

  private void setId(Long id) {
    this.id = id;
  }

  public String getText() {
    return text;
  }

  public void setText(String text) {
    this.text = text;
  }

  public Message getNextMessage() {
    return nextMessage;
  }

  public void setNextMessage(Message nextMessage) {
    this.nextMessage = nextMessage;
  }

}

接下來是這個類對應的hibernate的配置文件 Message.hbm.xml

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
    <!--定義類和表的對應-->
    <class
        name="hello.Message"
        table="Messages"
    >
    <!--定義ID字段和生成ID的策略 這里采用identity-->
    <id    name="id"
        column="MESSAGE_ID"
    >
    <generator class="identity"/>
    </id>
        <!--定義里面的text字段-->
    <property
        name="text"
                type="string">
                <!--定義text字段在數據庫里面生成的方法-->
        <column
            name="TEXT"
            length="100"
                        not-null="true"
                />
    </property>
       <!--定義對象關聯之間的對應關系和關聯的字段-->
    <many-to-one
        name="nextMessage"
        cascade="all"
        column="NEXT_MESSAGE_ID"
    />
    </class>
</hibernate-mapping>

然后就是測試類 

package hello;

import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.tool.hbm2ddl.SchemaExport;
import net.sf.hibernate.Session;
import net.sf.hibernate.Query;
import net.sf.hibernate.Hibernate;
import net.sf.hibernate.type.LongType;
import net.sf.hibernate.Transaction;



/**
 * @author getdown
 * @version 1.0
 */

public class Hello {
  public Hello() {
  }

  public static void main(String[] args) throws Exception {
    Configuration cfg = new Configuration().addClass(Message.class);

    /** 顧名思義 構建表。。。第一次運行的時候運行下面語句可以在數據庫生成表
     * 之后可以把下面這句去掉
     * */
//    new SchemaExport(cfg).create(true, true);

    //先生成sessionFactory
    SessionFactory sessions = cfg.buildSessionFactory();
    //再從sessionFactory得到一個session
    Session session = sessions.openSession();
    //啟動事務
   Transaction tx = session.beginTransaction();

    //開始對數據庫的操作
    /*----對數據庫的創建操作--------*/
    Message message = new Message("helloWorld");
    //創建一條記錄

    session.save(message);
    //存入記錄
   session.flush();
    //提交事務
    tx.commit();


    /*---對數據庫的查詢操作---------------*/
//    Message message = new Message();
//    Query q = session.createQuery("from Message as message where message.id=1");
//    message = (Message) q.list().get(0);
//    message.getNextMessage().setText("helloNext");
//    session.flush();
//    session.close();
//    Long id = new Long(1);
//    Message message = (Message) session.find("from Message as message where message.id=?", id, Hibernate.LONG).get(0);
//    System.out.println(message.getText());


//    /*-------事務的處理----------------*/
//    try {
//      Message message = new Message("hello");
//      session.save(message);
//      session.flush();
//      message = new Message("hello");
//      session.save(message);
//      session.flush();
//      tx.commit();
//    }
//    catch (HibernateException ex) {
//      tx.rollback();
//    }

    /*-------添加1000條記錄時間--------------*/
//    long start = System.currentTimeMillis();
//    for(int i = 0; i < 1000; i ++) {
//      Message message = new Message("hello");
//      session.save(message);
//      session.flush();
//    }
//    tx.commit();
//    long end = System.currentTimeMillis();
//    System.out.println("添加1000條記錄時間---" + (end-start)/1000 + "s");



    session.close();


  }

}

ok了 運行一下Hello看看出來什么吧 

怎么樣 比起CMP的持久 hibernate的持久是不是顯得很輕量級。。

還可以試試看hibernate的性能 把Hello.java的最后一段注釋去掉運行看看

當然hibernate最重要的還是它的原理,還有很多很好的,很有趣的功能和O/RM設計思想等著你自己發掘。

多看看它自己的文檔,可以學到很多東西,它的文檔真的非常好。

呵呵 我是剛剛接觸hibernate不久 和所有hibernate的學習者共同學習

參與討論
 

 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区欧美日韩| 成熟亚洲日本毛茸茸凸凹| 狠狠色丁香婷综合久久| 99精品偷自拍| 久久精品人人爽人人爽| 亚洲18女电影在线观看| 99在线精品视频| 精品福利一区二区三区| 亚洲国产成人91porn| 色先锋久久av资源部| 欧美一区二区三区在线看| 欧美—级在线免费片| 欧美aaaaa成人免费观看视频| 99精品在线观看视频| 久久精品男人的天堂| 毛片一区二区三区| 在线成人av网站| 亚洲自拍欧美精品| 99久久国产综合精品女不卡| 亚洲国产成人午夜在线一区| 韩国在线一区二区| 欧美一卡二卡三卡四卡| 亚洲成年人影院| 91福利区一区二区三区| 亚洲欧美国产三级| 91在线播放网址| |精品福利一区二区三区| 高清免费成人av| 中文字幕免费观看一区| 国产精品自拍在线| 久久精品视频免费| 成人免费视频国产在线观看| 中文字幕第一区| 成人av网站免费观看| 国产无遮挡一区二区三区毛片日本| 久久国产综合精品| 久久综合狠狠综合久久激情| 麻豆freexxxx性91精品| 欧美va在线播放| 国产成人精品免费视频网站| 国产亚洲精品精华液| 成人免费观看av| 椎名由奈av一区二区三区| 99re这里只有精品视频首页| 亚洲美女屁股眼交3| 欧美日韩在线观看一区二区| 日韩vs国产vs欧美| 久久久亚洲精品一区二区三区| 国产成人精品综合在线观看| 国产精品进线69影院| 色999日韩国产欧美一区二区| 夜夜精品浪潮av一区二区三区| 51精品秘密在线观看| 国产乱码一区二区三区| 亚洲婷婷综合色高清在线| 欧美日本乱大交xxxxx| 青青草国产精品97视觉盛宴| 国产日韩精品一区二区三区| 色先锋资源久久综合| 日韩精品亚洲一区二区三区免费| 精品999久久久| 色哟哟日韩精品| 精品一区二区三区免费| 中文字幕一区在线| 8x福利精品第一导航| 丁香天五香天堂综合| 夜色激情一区二区| 精品女同一区二区| 一本色道久久综合精品竹菊| 另类综合日韩欧美亚洲| 成人免费视频在线观看| 欧美一个色资源| 91色乱码一区二区三区| 久久99精品久久久久久久久久久久| 国产精品欧美经典| 亚洲精品在线一区二区| av电影天堂一区二区在线观看| 秋霞成人午夜伦在线观看| 国产精品激情偷乱一区二区∴| 欧美日韩国产a| www.亚洲在线| 久久91精品国产91久久小草| 亚洲综合免费观看高清完整版| 亚洲精品一区二区三区四区高清| 91官网在线免费观看| 国产精品小仙女| 日韩国产精品久久久久久亚洲| 中文字幕日韩欧美一区二区三区| 欧美一区二区三区小说| 一本到三区不卡视频| 国产91精品精华液一区二区三区 | 久久成人麻豆午夜电影| 亚洲日本电影在线| 久久综合色之久久综合| 日韩亚洲欧美高清| 欧美午夜精品久久久久久孕妇| 高清国产一区二区三区| 国内外成人在线视频| 婷婷成人激情在线网| 亚洲综合色噜噜狠狠| 亚洲欧美一区二区三区孕妇| 日本一区二区三区国色天香| 精品久久久三级丝袜| 91精品国产乱| 欧美精品第1页| 欧美日韩久久一区二区| 色综合天天做天天爱| 99国产精品一区| 99国产精品国产精品久久| 99久久精品免费| 国产91在线|亚洲| 播五月开心婷婷综合| 成人国产在线观看| 99久久777色| 在线影院国内精品| 欧美亚洲综合另类| 欧美美女一区二区在线观看| 欧美军同video69gay| 欧美狂野另类xxxxoooo| 日韩免费看的电影| 精品国内片67194| 久久九九久久九九| 国产精品伦一区| 日韩美女啊v在线免费观看| 综合分类小说区另类春色亚洲小说欧美| 中文字幕一区二区三区不卡| 亚洲免费成人av| 亚洲v中文字幕| 久久99国产精品久久99果冻传媒| 九色综合国产一区二区三区| 国产成人免费在线视频| 91亚洲精品久久久蜜桃网站| 欧美三级日本三级少妇99| 欧美另类一区二区三区| 亚洲精品一线二线三线| 中文字幕亚洲区| 婷婷六月综合网| 国产精品自拍毛片| 99精品国产一区二区三区不卡| 精品国精品国产尤物美女| 国产亚洲精品超碰| 亚洲欧美激情一区二区| 日韩av电影免费观看高清完整版在线观看| 久久国产福利国产秒拍| 国v精品久久久网| 欧美浪妇xxxx高跟鞋交| 久久精品夜色噜噜亚洲aⅴ| 亚洲欧美韩国综合色| 久久精品国产精品亚洲红杏| av中文一区二区三区| 欧美高清性hdvideosex| 国产精品午夜在线| 视频一区在线播放| av在线不卡免费看| 日韩一区二区三区在线| **性色生活片久久毛片| 六月婷婷色综合| 精品视频免费看| 国产精品毛片久久久久久久| 青娱乐精品视频| 欧美亚洲高清一区二区三区不卡| 精品日本一线二线三线不卡| 亚洲人被黑人高潮完整版| 久久不见久久见免费视频1| 在线精品视频小说1| 久久精品网站免费观看| 青青草97国产精品免费观看无弹窗版| 不卡电影一区二区三区| 久久久综合九色合综国产精品| 亚洲国产三级在线| 99久久精品免费| 欧美午夜精品久久久久久孕妇| 五月婷婷综合激情| 懂色av一区二区三区蜜臀| 日韩午夜在线播放| 一区二区三区四区在线播放| 国产亚洲欧美激情| 亚洲欧洲日韩在线| 国产一区二区三区精品欧美日韩一区二区三区| 91丨九色丨蝌蚪丨老版| 久久精品在这里| 久久精品国产一区二区三 | 天天影视涩香欲综合网| 91浏览器在线视频| 国产精品国产三级国产普通话蜜臀 | 中文字幕制服丝袜一区二区三区 | 国产精品麻豆网站| 国产一区二区三区视频在线播放| 欧美一区二区黄色| 婷婷激情综合网| 欧美区视频在线观看| 亚洲一区二区欧美激情| 91成人在线精品| 日本伊人色综合网| 欧洲亚洲精品在线| √…a在线天堂一区| 99视频超级精品| 成人免费小视频| 色哦色哦哦色天天综合| 亚洲综合色丁香婷婷六月图片|