麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Hibernate + Proxool配置

2019-11-18 13:55:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

  首先配置Proxool的配置文件,文件名:Proxool.xml(當(dāng)然,你也可以用資源文件)

<?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>

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

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

  還有就是<maxmum-connection-count>是設(shè)置連接池內(nèi)生成的最大連接數(shù)

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

  下面是Hibernate的配置:這里我們還是用XML文件,因?yàn)樗渲糜成溆歇?dú)特的昧力

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連接池是用這個(gè),不同的連接池有不同的加載類,可以查閱Hibernate文檔獲取相關(guān)信息
  hibernate.proxool.pool_alias這里就是用我們上面提到的連接池的別名
  hibernate.proxool.xml是向Hibernate聲明連接池的配置文件位置,可以用相對(duì)或絕對(duì)路徑,用相對(duì)路徑時(shí)要注重一定在要Path范圍內(nèi)!不然會(huì)拋出異常。
  dialect是聲明SQL語(yǔ)句的方言
  show_sql定義是否顯示Hibernate生成的SQL語(yǔ)言,一般在調(diào)試階段設(shè)為true,完成后再改成false,這樣有利于調(diào)試。
  hbm2ddl.auto是聲明是否使用hbm2 ddl工具,也就是根據(jù)映射文件生成SQL的DDL文件。
  <mapping >這個(gè)可是個(gè)好東西了,方便的用于映射。假如用資源文件的話就沒有這個(gè)功能了.呵呵.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> 

  好啦,到這里已經(jīng)把Proxool和Hibernate的配置文件各項(xiàng)說(shuō)明完了。
  還有一個(gè)就是映射文件,在這里就不再說(shuō)明了,挺多內(nèi)容的,可以出一本書了。
  孫衛(wèi)琴的精通Hibernate里面有很具體的說(shuō)明

  PS:《精通Hibernate》電子工業(yè)出版社  這本書里面的東西在Hibernate3里很多都不行的。Hibernate3版本改了不少東西,連包名都改了。
  這里想罵孫衛(wèi)琴幾句:拜托,不要一年出一本書行不行啊,花點(diǎn)時(shí)間,質(zhì)量放高一點(diǎn).太不厚道了,難為我把你出的書都認(rèn)真了<<Tomcat與java web開發(fā)技術(shù)詳解>><<精通Hibernate:Java對(duì)象持久化技術(shù)詳解>><<精通Struts:基于MVC的Java Web設(shè)計(jì)與開發(fā)>>.對(duì)于初學(xué)者來(lái)說(shuō)不錯(cuò),但不夠深度,用不著每本都用四五百頁(yè)來(lái)寫吧...
  唉,要學(xué)這些技術(shù),還是得去看看英文版的.

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久色伦理资源站 | 粉嫩粉嫩一区二区三区在线播放 | 97视频 | 黄网站色成年大片免费高 | 久草在线手机视频 | 久色伊人 | 日韩av成人 | av在线播放免费观看 | 国产理论视频在线观看 | 黄色av电影在线播放 | 久久久综合视频 | 女教师~淫辱の动漫在线 | 欧美日韩免费在线观看视频 | 免费视频aaa | 精品国产看高清国产毛片 | 一区二区久久久久草草 | 性欧美日本 | 精品一区二区三区在线观看国产 | 少妇的肉体的满足毛片 | 男女做性免费网站 | 成人免费影院 | 国产一级一区二区三区 | 日本在线视频免费 | lutube成人福利在线观看污 | 黄色视屏免费在线观看 | 在线免费观看欧美 | 无遮挡一级毛片视频 | 最新91在线视频 | 久久国产成人精品国产成人亚洲 | 天天色宗合 | 欧美 日韩 中文 | 女人叉开腿让男人桶 | 国产人成精品一区二区三 | 中文字幕网址 | 2019亚洲日韩新视频 | 九九热免费精品 | 人人做人人看 | 成人福利视频网站 | 热@国产 | 免费毛片在线 | 成人综合在线观看 |