亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

hibernate的hello word(國內高手撰寫)

2019-11-18 13:55:34
字體:
來源:轉載
供稿:網友

  終于有點對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();
//開始對數據庫的操作



/*----對數據庫的創建操作--------*/
Message message = new Message("helloWorld");
//創建一條記錄
session.save(message);
//存入記錄
session.flush();


/*---對數據庫的查詢操作---------------*/
// 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());


// /*-------事務的處理----------------*/
// Transaction tx = session.beginTransaction();
// 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條記錄時間--------------*/
// Message message;
// long start = System.currentTimeMillis();
// for(int i = 0; i < 1000; i ++) {
// message = new Message("hello");
// session.save(message);
// session.flush();
// }
// 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的學習者共同學習
MSN : java_xml@msn.com

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲天堂av高清| 日本久久91av| 日韩小视频在线| 中文字幕在线成人| 久久精品久久久久电影| 日韩中文字幕不卡视频| 亚洲国产欧美一区| 日韩精品一二三四区| 97福利一区二区| 亚洲free性xxxx护士白浆| 亚洲成av人影院在线观看| 日韩成人中文字幕在线观看| 91av在线不卡| 国产精品免费看久久久香蕉| 亚洲高清不卡av| 国产精品色婷婷视频| 国产成人极品视频| 亚洲国产古装精品网站| 欧美极品美女电影一区| 欧美激情xxxxx| 中文字幕日韩在线视频| 91在线免费看网站| 久久福利网址导航| 久久久久久91香蕉国产| 久久久久久久91| 555www成人网| 大伊人狠狠躁夜夜躁av一区| 成人在线中文字幕| 成人免费视频网址| 成人免费激情视频| 一区二区三区视频免费在线观看| 欧美黄色片免费观看| 色妞久久福利网| 国产精品一区二区三区在线播放| 日韩中文字幕在线观看| 高清欧美性猛交xxxx黑人猛交| 国产欧美va欧美va香蕉在线| 欧美激情精品久久久久久蜜臀| 亚洲精品自在久久| 久久中文字幕在线| 国产精品久久久久7777婷婷| 亚洲欧洲一区二区三区久久| 狠狠综合久久av一区二区小说| 久久精品国产69国产精品亚洲| 亚洲三级 欧美三级| 亚州精品天堂中文字幕| 日韩成人在线视频观看| www.精品av.com| 欧美福利视频在线| 欧美电影在线免费观看网站| 欧美激情精品久久久久久大尺度| 中文日韩电影网站| 色综合视频一区中文字幕| 51精品国产黑色丝袜高跟鞋| 欧美专区日韩视频| 久久久国产在线视频| 国产在线精品一区免费香蕉| 亚洲成年人影院在线| 久久久亚洲欧洲日产国码aⅴ| 色婷婷av一区二区三区在线观看| 精品久久久一区二区| 国产欧美日韩视频| 亚洲第一页在线| 夜夜躁日日躁狠狠久久88av| 久久影视电视剧免费网站清宫辞电视| 97精品视频在线| 欧美日韩亚洲视频一区| 色中色综合影院手机版在线观看| 在线免费观看羞羞视频一区二区| 欧美性一区二区三区| 日韩av在线免费观看| 欧美日韩性生活视频| 亚洲国产精品福利| 久久久久久国产精品三级玉女聊斋| 欧美一性一乱一交一视频| 欧美大片va欧美在线播放| 久久综合五月天| 国产成人综合精品在线| 欧美在线视频导航| 国产精品成久久久久三级| 最近2019年日本中文免费字幕| 狠狠综合久久av一区二区小说| 日韩av在线免费观看一区| 国产精品视频精品视频| 亚洲第一二三四五区| 性色av一区二区三区免费| 国产成人高清激情视频在线观看| 亚洲成人在线视频播放| 欧美视频13p| 97视频免费观看| 欧美在线视频观看| 日韩av一区二区在线观看| 中文字幕日韩在线视频| 久久久久国产视频| 欧美成年人视频网站| 亚洲影院色在线观看免费| 亚洲成人a**站| 国产精品自产拍高潮在线观看| 国产成人精品久久| 在线日韩第一页| 亚洲欧美日韩综合| 亚洲国产成人久久综合一区| 狠狠久久五月精品中文字幕| 国产精品视频最多的网站| 91国产美女在线观看| 欧美亚洲激情视频| 欧美第一页在线| 国产精品久久久久9999| 欧美大尺度电影在线观看| 另类视频在线观看| 欧美寡妇偷汉性猛交| 国产精品成久久久久三级| 奇米成人av国产一区二区三区| 国产精品久久综合av爱欲tv| 狠狠躁夜夜躁久久躁别揉| 欧美成人免费观看| 九九久久久久99精品| 黑人巨大精品欧美一区二区一视频| 韩国欧美亚洲国产| 久久久国产精彩视频美女艺术照福利| 国产精品一区二区久久久| 日韩在线观看你懂的| 超碰精品一区二区三区乱码| 国产精品日韩久久久久| 国产精品亚洲欧美导航| 视频直播国产精品| 久久久精品美女| 国产精品高潮粉嫩av| 精品久久香蕉国产线看观看gif| 亚洲网站在线观看| 国产精品日韩在线| 国产综合色香蕉精品| 中文字幕视频一区二区在线有码| 久久精品国产99国产精品澳门| 8050国产精品久久久久久| 国产精品中文在线| 国产日本欧美一区| 国产aⅴ夜夜欢一区二区三区| 精品视频一区在线视频| 亚洲欧美在线x视频| 欧美日韩国产综合新一区| 91高清免费在线观看| 久久久日本电影| 中文字幕v亚洲ⅴv天堂| 日韩中文字幕精品视频| 久久久久久噜噜噜久久久精品| 国产综合视频在线观看| 亚洲第一精品福利| 精品久久久久人成| 国产精品96久久久久久又黄又硬| 一本一本久久a久久精品牛牛影视| 成人动漫网站在线观看| 欧美极品少妇xxxxⅹ免费视频| 欧洲亚洲妇女av| 亚洲人成电影网站色…| 亚洲精品成人网| 伊人久久久久久久久久| 欧美一级黄色网| 亚洲国产精品一区二区久| 久久999免费视频| 欧美日韩第一视频| 国产精品视频最多的网站| 欧美午夜性色大片在线观看| 久久精品在线视频|