成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate創建和持久化Product

開發 后端
這里介紹Hibernate創建和持久化Product,我們用Hibernate創建一個Product,然后將其持久化;我們將搜索并加載一個已經持久化Product,并確保其可以使用;我們將會更新和刪除Product。

在向大家詳細介紹持久化Product之前,首先讓大家了解下Hibernate創建一個Product,然后全面介紹。

在我們假想的應用程序中,基本的使用模式非常簡單:我們用Hibernate創建一個Product,然后將其持久化(或者換句話說,保存它);我們將搜索并加載一個已經持久化Product,并確保其可以使用;我們將會更新和刪除Product。

Hibernate創建和持久化Product

現在我們終于用到Hibernate了。使用的場景非常簡單:
1. Hibernate創建一個有效的Product。
2. 在應用程序啟動時使用net.sf.Hibernate.cfg.Configuration獲取net.sf.Hibernate.SessionFactory。
3. 通過調用SessionFactory#openSession(),打開net.sf.Hibernate.Session。
4. 保存Product,關閉Session。

正如我們所看到的,這里沒有提到JDBC、SQL或任何類似的東西。非常令人振奮!下面的示例遵循了上面提到的步驟:

  1. package test;  
  2.  
  3. import net.sf.hibernate.Session;  
  4. import net.sf.hibernate.SessionFactory;  
  5. import net.sf.hibernate.Transaction;  
  6. import net.sf.hibernate.cfg.Configuration;  
  7. import test.hibernate.Product;  
  8.  
  9. // 用法:  
  10. // java test.InsertProduct name amount price  
  11. public class InsertProduct {  
  12.  
  13. public static void main(String[] args)  
  14. throws Exception {  
  15.  
  16. // 1. 創建Product對象  
  17. Product p = new Product();  
  18. p.setName(args[0]);  
  19. p.setAmount(Integer.parseInt(args[1]));  
  20. p.setPrice(Double.parseDouble(args[2]));  
  21.  
  22. // 2. 啟動Hibernate  
  23. Configuration cfg = new Configuration()  
  24.  .addClass(Product.class);  
  25. SessionFactory sf = cfg.buildSessionFactory();  
  26.  
  27. // 3. 打開Session  
  28. Session sess = sf.openSession();  
  29.  
  30. // 4. 保存Product,關閉Session  
  31. Transaction t = sess.beginTransaction();  
  32. sess.save(p);  
  33. t.commit();  
  34. sess.close();  
  35. }  

當然,INFO行指出我們需要一個Hibernate.properties配置文件。在這個文件中,我們配置要使用的數據庫、用戶名和密碼以及其他選項。使用下面提供的這個示例來連接前面提到的Hypersonic數據庫:

  1. hibernate.connection.username=sa 
  2. hibernatehibernate.connection.password=  
  3. hibernate.connection.url=jdbc:hsqldb:/home/davor/hibernate/orders  
  4. hibernate.connection.driver_class=org.hsqldb.jdbcDriver  
  5. hibernate.dialect=net.sf.hibernate.dialect.HSQLDialect 

適當地進行修改(例如,可能需要修改Hibernate.connection.url),并保存到classpath中。這很容易,但那個 test/Hibernate/Product.hbm.xml資源是什么呢?它是一個XML文件,定義了Java對象如何被持久化(映射)到一個數據庫。在該文件中,我們定義數據存儲到哪個數據庫表中,哪個字段映射到數據庫表的哪個列,不同的對象如何互相關聯,等等。讓我們來看一下 Product.hbm.xml。

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE hibernate-mappingPUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"
    > 
  3.  
  4. <hibernate-mapping> 
  5. <class name="test.hibernate.Product"table="products"> 
  6.  
  7. <id name="id" type="string"unsaved-value="null"> 
  8. <column name="id" sql-type="char(32)"not-null="true"/> 
  9. <generator class="uuid.hex"/> 
  10. </id> 
  11. <property name="name"> 
  12. <column name="name" sql-type="char(255)"not-null="true"/> 
  13. </property> 
  14. <property name="price"> 
  15. <column name="price" sql-type="double"not-null="true"/> 
  16. </property> 
  17. <property name="amount"> 
  18. <column name="amount" sql-type="integer"not-null="true"/> 
  19. </property>   
  20. </class> 
  21. </hibernate-mapping> 

【編輯推薦】

  1. Hibernate對數據索引進行緩存
  2. 剖析Hibernate主鍵生成幾種常用方式
  3. 淺析Hibernate實現實體對象延遲加載
  4. Hibernate集合類型的延遲加載特性
  5. 概括Hibernate屬性延遲加載
責任編輯:佚名 來源: 51CTO.com
相關推薦

2009-09-29 16:46:01

創建Hibernate

2009-09-25 17:19:28

Hibernate持久

2009-09-29 16:11:45

Hibernate實現

2009-09-24 15:42:44

Hibernate對象

2009-09-24 16:39:20

Hibernate傳播

2009-09-28 15:38:12

Hibernate P

2009-09-25 09:30:33

Hibernate持久

2009-09-23 17:00:07

Hibernate持久

2009-06-17 16:00:03

Hibernate自定

2009-09-29 10:37:29

Hibernate持久

2009-09-29 10:57:25

設置Hibernate

2009-09-21 17:46:34

Hibernate持久

2022-09-21 23:29:15

Python點云數據

2009-09-27 09:55:38

Hibernate持久

2023-09-06 17:02:53

2011-03-24 11:37:41

Hibernate

2013-09-12 14:56:02

iOS持久化

2009-06-26 16:27:10

Hibernate創建

2009-06-16 14:11:36

Hibernate優點Hibernate構架

2021-11-09 07:59:50

開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩视频在线一区 | 日韩欧美国产一区二区 | 亚洲最大的黄色网址 | 国产精品亚洲欧美日韩一区在线 | 日韩av一区在线观看 | 毛片久久久 | 中文字幕第一页在线 | 国产精品亚洲精品 | 天天色影视综合 | 久久天天 | 97精品国产97久久久久久免费 | 国产高清精品网站 | 人人玩人人干 | 久久一二 | 国产亚韩 | 在线视频中文字幕 | 草逼网站| 欧洲高清转码区一二区 | 黄网站涩免费蜜桃网站 | 欧美久久久久久久久 | 国产视频一区在线观看 | 久久电影一区 | 国产精品一区二区视频 | 97精品国产97久久久久久免费 | 91精品国产综合久久久久久丝袜 | 国产高清精品一区 | 日本在线综合 | 九七午夜剧场福利写真 | 成人二区| 精品久久不卡 | 欧美午夜精品久久久久免费视 | 特级黄一级播放 | 免费黄色在线观看 | 久久精品| 嫩草视频网 | 风间由美一区二区三区在线观看 | 国产精品视频网 | 欧洲视频一区二区 | 久久精品国产一区二区三区 | 亚洲成人第一页 | 99综合在线|