Hibernate + Oracle 結合

來源:互聯網
上載者:User

標籤:

以前都是通過Hibernate + MySQL 來實現資料庫查詢與修改的,因為 mysql 資料庫 較oracle資料庫簡單些,最近在看Oracle的書籍,今下午嘗試了下Hibernate 架構下操作Oracle資料庫:

1.建立 WEB Project 項目 “OracleTest”;

2.匯入Hibernate 架構;

3. 在MyEclipse 中 建立 Oracle 某個資料庫的串連

(Windos -- Show View -- DB Browser )調出 DB Browser 功能;

空白處,右鍵,單擊 “New” ,開始建立 串連項

給串連項 起一個好記且有意義的名字,例如:oracle_hello (串連 oracle 的 hello 資料庫)

選擇 Oracle (OCI Driver)或者 Oracle (Thin Driver)均可,(OCI 需要本地安裝Oracle 用戶端,所以一般用Thin Driver即可);

按照模板填好 Connection URL ,例如:jdbc:oracle:[email protected]:1521:hello;

填好 User name ,這裡為 system;

填好 Pasword ;

然後點擊“Add JARs” 選擇好本地的 Oracle 的jdbc 的驅動包;

Driver classname 選擇 “oracle.jdbc.driver.OracleDriver”;

填好上述資訊後,單擊“Test Driver” 測試一下所填資訊是否正確,如果正確,一切OK;否則,仔細看看上述資訊有沒有錯誤;

 

4. 建好串連項後,可以開啟串連項,選擇好要匯入的表,然後右鍵,點擊“Hibernate Reverse Engineering” 即可將映射資訊匯入到項目中

(選擇 Id Generator 時 ,一般選擇 assigned,想要自動成長而不用專門去資料庫查詢,可以選擇increment選項);

通過java訪問資料庫,查詢並儲存資訊;

 

有一點需要特別注意,雖然Hibernate 架構可以自動產生對應檔和資料庫連接檔案,但是由於Oracle的特殊性,Hiberntate產生的實體類檔案中的欄位的類型不一定合適:

例如:筆者資料庫裡的id欄位是NUMBER類型,Hibernate會自動對應成BigDecimal,BigDecimal類型的資料不能像int類型那樣簡單進行+-*/,而是需要調用特殊方法才可以,所有筆者將實體類檔案裡的BigDecimal 類型改成了 int 類型,注意將getter 和 setter 方法中的BigDecimal 也改成int,特別注意:將實體與表對應檔中的BigDecimal也改成int 類型;

 

做好上述工作後,就可以調用Dao檔案裡的方法訪問資料庫了

(MyEclipse 2014 prefessional 版本中的Hibernate架構自動產生的Dao 檔案裡的 save 和 delete 方法需要添加交易處理功能,否則無效,如所示)

 

5.做完上述工作後,就可以建立測試類別,進行測試了,完美:

Hibernate + Oracle 結合

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.