国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

Hibernate + Proxool配置

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

  用Hibernate自帶的連接池性能不高,而且還存在BUG。因此官方推薦使用c3p0或PRoxool連接池。
  這里我介紹Hibernate使用Proxool連接池的配置:

  首先配置Proxool的配置文件,文件名:Proxool.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>DBPool</alias>
    <driver-url>jdbc:MySQL://localhost:3306/WebShop</driver-url>
    <driver-class>org.gjt.mm.mysql.Driver</driver-class>
    <driver-properties>
      <property name="user" value="ycoe"/>
      <property name="passWord" value="123456"/>
    </driver-properties>
    <maximum-connection-count>10</maximum-connection-count>
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
  </proxool>
</something-else-entirely>

  這里有幾點要說明的
  <alias>是連接池的別名,在JDBC中可以用DriverManager.getConnection("Proxool.DBPool");取得一個連接(但你得先在程序運行時先加載它)。

  <driver-url>是數據庫地址,不用說也明白了。后面也可以帶一段參數useUnicode=true&characterEncoding=GB2312這是設定連接的參數,這里是定義了連接使用的編碼為GB2312,這是為了解決數據庫存取中的亂碼問題(假如數據庫沒有提供編碼設定的話,比如MySQL5.0以前版本)
  <driver-class>這是JDBC使用的數據庫驅動類,對于不同的數據庫,有不同的驅動類支持,一般官方會提供
  <driver-properties>里面的都很簡單啦,不說了。

  還有就是<maxmum-connection-count>是設置連接池內生成的最大連接數

  Proxool配置完成,把它放在WEB-INFclasses下面(放在哪都沒關系,只要讓路徑Path包含著就行)!

  下面是Hibernate的配置:這里我們還是用XML文件,因為它配置映射有獨特的昧力

hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <!-- Database connection settings -->
        <property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
        <property name="hibernate.proxool.pool_alias">DBPool</property>
        <property name="hibernate.proxool.xml">Proxool.xml</property>
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">false</property>
        <!-- Drop and re-create the database schema on startup
        <property name="hbm2ddl.auto">create</property>
        -->
        <mapping resource="Orders.hbm.xml"/>
        <mapping resource="Users.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

  Hibernate3版本的配置都使用<property>
  首先hibernate.connection.provider_class定義Hibernate的連接加載類,這里Proxool連接池是用這個,不同的連接池有不同的加載類,可以查閱Hibernate文檔獲取相關信息
  hibernate.proxool.pool_alias這里就是用我們上面提到的連接池的別名
  hibernate.proxool.xml是向Hibernate聲明連接池的配置文件位置,可以用相對或絕對路徑,用相對路徑時要注重一定在要Path范圍內!不然會拋出異常。
  dialect是聲明SQL語句的方言
  show_sql定義是否顯示Hibernate生成的SQL語言,一般在調試階段設為true,完成后再改成false,這樣有利于調試。
  hbm2ddl.auto是聲明是否使用hbm2 ddl工具,也就是根據映射文件生成SQL的DDL文件。
  <mapping >這個可是個好東西了,方便的用于映射。假如用資源文件的話就沒有這個功能了.呵呵.resource是定義映射文件的位置,和Proxool.xml一樣。

  不同的連接池用不同的配置,下面提供c3p0連接池在Hibernate中的配置:

  c3p0配置

  <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
  <property name="hibernate.c3p0.max_size">20</property>
  <property name="hibernate.c3p0.min_size">5</property>
  <property name="hibernate.c3p0.timeout">120</property>
  <property name="hibernate.c3p0.max_statements">100</property>
  <property name="hibernate.c3p0.idle_test_period">120</property>
  <property name="hibernate.c3p0.acquire_increment">2</property> 

  好啦,到這里已經把Proxool和Hibernate的配置文件各項說明完了。
  還有一個就是映射文件,在這里就不再說明了,挺多內容的,可以出一本書了。
  孫衛琴的精通Hibernate里面有很具體的說明

 ?。校樱骸毒℉ibernate》電子工業出版社  這本書里面的東西在Hibernate3里很多都不行的。Hibernate3版本改了不少東西,連包名都改了。
  這里想罵孫衛琴幾句:拜托,不要一年出一本書行不行啊,花點時間,質量放高一點.太不厚道了,難為我把你出的書都認真了<<Tomcat與java web開發技術詳解>><<精通Hibernate:Java對象持久化技術詳解>><<精通Struts:基于MVC的Java Web設計與開發>>.對于初學者來說不錯,但不夠深度,用不著每本都用四五百頁來寫吧...
  唉,要學這些技術,還是得去看看英文版的.

見:
  http://ycoe.VEVb.com/archive/2006/03/20/353677.Html

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桑植县| 德江县| 开江县| 威远县| 阿勒泰市| 甘泉县| 大悟县| 松溪县| 辛集市| 云阳县| 沁水县| 郴州市| 寻甸| 诏安县| 灌阳县| 安塞县| 缙云县| 旬邑县| 股票| 道真| 昭平县| 连平县| 洞头县| 静安区| 定兴县| 日喀则市| 延吉市| 奉化市| 聂荣县| 什邡市| 和静县| 郧西县| 兴海县| 黄骅市| 大安市| 堆龙德庆县| 威远县| 宜川县| 海伦市| 岳阳市| 丰宁|