如何配置hibernate
1. 在Spring中配置Hibernate和單獨配置Hibernate的區別
spring可以託管hibernate的配置,可以使用spring來配置hibernate,而不用增加hibernate.cfg.xml文件,可以讓spring來控制hibernate的運行包括事務,配置等,將hibernate集成到spring中協調工作
2. Hibernate如何配置!
查收,
3. 關於spring中配置hibernate
第一,程序是可以通過spring來操作hibernate的,因為你在spring配置文件裡面來接收數據源的時候,就是通過spring來控制hibernate來得到的,hibernate的配置文件時可以改動的,你放在哪裡有可以,在src的目錄下面,或是webRoot下面都可以,只要你把路徑寫對就可以了,你那個路徑肯定是寫過了,想知道你的配置文件在哪,你可以選中你的項目,點擊菜單欄的
這個按鈕,就可以查看到你的項目部署的位子了,也可以看到你的配置文件所在的位子了,config這個文件名,一般會被創建在類路徑下面的,所以可以不用寫,就是你放在這個目錄下面在。
第二,數據源可以放在hibernate配置文件裡面,也可以放在spring配置文件裡面,這都是可以的!看你個人習慣了!希望可以幫助到你,謝謝!
4. 如何安裝配置hibernate
打開Eclipse 開發工具
菜單 help,選擇 Eclipse marketplace
選擇search 選項卡,搜索 hibernate 關鍵字
選擇最新的安裝版本(eclipse version)的Hibernate Tools點擊install ,彈出選擇界面,選擇如圖:
confirm確認安裝。
配置使用hibernate Tools
選擇 window 菜單中的Customize Perspective ,界面如圖
選擇 hibernate code generation,如圖
將在Eclipse界面工具欄生成命令按鈕,如圖
點擊,選擇Hibernate code generation Configuration,new 一個新的配置。
可以配置,生成java code 文件等
5. Hibernate配置
none:不做任何操作
create:啟動服務後,先drop刪掉表,然後通過映射文件自動創建資料庫表,每次啟動都會刪了表然後重建(當心使用)
create-drop: 也表示創建,只不過再系統關閉前執行一下drop
update: 這個操作啟動的時候會去檢查schema是否一致,如果不一致會做scheme更新
validate: 啟動時驗證現有schema與你配置的hibernate是否一致,如果不一致就拋出異常,並不做更新
6. 如何配置hibernate 連接池
三種連接都是以連接Mysql為例。
<!-- JDBC驅動程序 -->
<property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK</property> <!-- 資料庫用戶名 -->
<property name="connection.username">root</property> <!-- 資料庫密碼 -->
<property name="connection.password">8888</property>
上面的一段配置,在c3p0和dbcp中,都是必需的,因為hibernate會根據上述的配置來生成connections,再交給c3p0或dbcp管理.但是,proxool則不能,雖然說服文檔上說proxool也可以和hibernate結合,但我按照官方文檔上的說明怎麼配也出錯,而且,到了sun和hibernat有的官方網站上問了幾天,都沒有一個人回復。後來我只能讓proxool自身來生成連接,這在下面再講。
1 C3P0
只需在hibernate.cfg.xml中加入
<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">30</property>
<property name="c3p0.time_out">1800</property>
<property name="c3p0.max_statement">50</property>
還有在classespath中加入c3p0-0.8.4.5.jar
2 dbcp
在hibernate.cfg.xml中加入
<property name="dbcp.maxActive">100</property>
<property name="dbcp.whenExhaustedAction">1</property>
<property name="dbcp.maxWait">60000</property>
<property name="dbcp.maxIdle">10</property>
<property name="dbcp.ps.maxActive">100</property>
<property name="dbcp.ps.whenExhaustedAction">1</property>
<property name="dbcp.ps.maxWait">60000</property>
<property name="dbcp.ps.maxIdle">10</property>
還有在classespath中加入commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar.
3 proxool
在hibernate.cfg.xml中加入
<property name="proxool.pool_alias">pool1</property>
<property name="proxool.xml">ProxoolConf.xml</property>
<property name="connection.provider_class">net.sf.hibernate.connection.ProxoolConnectionProvider</property>
然後,在和hibernate.cfg.xml同一個目錄下,加一個ProxoolConf.xml文件,內容為
<?xml version="1.0" encoding="utf-8"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>pool1</alias>
<!--proxool只能管理由自己產生的連接-->
<driver-url>jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK</driver-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value="8888"/>
</driver-properties>
<!-- proxool自動偵察各個連接狀態的時間間隔(毫秒),偵察到空閑的連接就馬上回收,超時的銷毀-->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- 指因未有空閑連接可以分配而在隊列中等候的最大請求數,超過這個請求數的用戶連接就不會被接受-->
<maximum-new-connections>20</maximum-new-connections>
<!-- 最少保持的空閑連接數-->
<prototype-count>5</prototype-count>
<!-- 允許最大連接數,超過了這個連接,再有請求時,就排在隊列中等候,最大的等待請求數由maximum-new-connections決定-->
<maximum-connection-count>100</maximum-connection-count>
<!-- 最小連接數-->
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
並在classespath中加入proxool-0.8.3.jar
結論:
由於在hibernate3.0中,已經不再支持dbcp了,hibernate的作者在hibernate.org中,明確指出在實踐中發現dbcp有BUG,在某些種情會產生很多空連接不能釋放,所以拋棄了對dbcp的支持。我不知是否在dbcp最新版本中解決了這個問題,我以前在一個訪問量不大的項目中用過dbcp,運行了一年多都沒出現問題。不過在網上的確也有不少網友指出dbcp在大型的應用中會出現不穩定的情況。所以在真相未經證實的情況下,我覺得對dbcp持慎重的態度。
至於c3p0,有評論說它的演算法不是最優的,而且,我在matrix中,見到有網友做了一個實驗,在同一項目中分別用了幾個常用的連接池,然後測試其性能,發現c3p0佔用資源比較大,效率也不高。
所以,基於上述原因,我才花兩晚的時間去研究proxool的配置,proxool不少行家推薦使用,而且暫時來說,是負面評價是最少的一個。在三星中也有項目是用proxool的。
7. eclipse怎麼配置hibernate
1 。工具/原料
能聯網的電腦(需要下載JBoss-Tools插件)
Eclipse(版本自己選擇,下面用的是eclipse-jee-kepler-SR2-win32)
2.打開Eclipse, Help-->Eclipse Marketplace
9. 注意事項
安裝成功後可能有些人的Eclipse打不開,缺少XXX, jvm.dll等之類的,這個時候要檢查你的jdk位數和Eclipse位數是否一致。
有些童鞋的電腦配置可能出現內存不足的情況,這時候修改Eclipse.ini文件