データ耐久化Hbernateの標準データベース接続池配置

4814 ワード

回転:
http://hi.baidu.com/lanruijin/blog/item/b57938d1267e19d2562c8453.html
TOMCAT+MySqlを例にとって、Hibernateはデータベースを接続する2つの方法があります。
1、Hibernateで管理するデータベース接続池
2、Hibernateは現在の容器配置の接続池を使用する。
ネット上で多くのHibernate配置教程を見ましたが、本当にそれらの教程は複雑です。
無秩序で、せいぜい手記です。これを知る必要がある人にとっては読みます。
これらのゴミは利益より弊害が大きいです。ゴミという言葉を使ってもいいですか?
自分は調律さえ通れば、適当な言葉を並べて「技術文章」を作ってもいいです。
他の人が見ても分かりますか?筋道がはっきりしていますか?
だから私がこの文章を書くのはもちろんゴミではないです。余計なことを言わないでください。
+TOMCAT構成データベース接続池標準プロセス。
準備:
1、wwww.Hbernate.orgは最新のHibernateをダウンロードして、3.0を提案します。
版をつくる
2、MYSQLを取り付け、MYSQLドライバをTOMCATの中のcomon/libにコピーします。
3、TOMCATの中で新しいWEBアプリケーションを作る(まだできないなら勉強しないでください。
もういいです
4、ハイベルナー下のクラス--LIBフォルダ下のすべてのJARをコピーします。
WEBアプリはWEB-INF/libの下にあります。
5、WEBアプリケーションWEB-INF/classesディレクトリでhibernate.cfg.xml文を作成する
件、内容は以下の通りです。
<?xml version='1.0' encoding='GBK'?>
<!DOCTYPE hibernate-configuration
      PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
      "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
実際にこのステップはまだ設定されていないXMLファイルです。
一、Hibernateで管理するデータベース接続池
名前の通り、Hibernateフレームには自分の管理データベース接続の方法が含まれています。
これらはhibernate.cfg.xmlファイルをセットするだけでいいです。
完全なヒベルナツ.cfg.xml:
<?xml version='1.0' encoding='GBK'?>
<!DOCTYPE hibernate-configuration
      PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
      "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<!--Hibernate self-manager connection pool-->
<hibernate-configuration>
      <session-factory>
          <property name="show_sql">true</property>
          <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
          <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
          <property name="connection.url">jdbc:mysql://localhost:3306/nihongo?useUnicode=true</property>
          <property name="connection.username">root</property>
          <property name="connection.password">kevin</property>
          <mapping resource="cat/Cat.hbm.xml"/>       
      </session-factory>
</hibernate-configuration>
以上の各属性値は自分の状況に合わせて修正してください。
2、Hibernateは現在の容器配置の接続池を使用する。
容器(TOMCATなど)は接続池を作り、JNDIを配置します。HibernateはJNDIを呼び出してきます。
容器の接続池を使用します。
この中の方式はちょっと複雑で、三つのXMLファイルを配置する必要があります。
1、%TOMCAT_HOME%/conf/server.xml
server.xmlでは、の前に、WEBアプリケーションのコンテキスト構成を追加します。
<Context path="/quickstart" docBase="quickstart" debug="0" > 
<Resource name="jdbc/MySql5" auth="Container" 
type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" 
url="jdbc:mysql://localhost:3306/nihongo?useUnicode=true" 
username="root" password="kevin" maxActive="100" maxIdle="10" 
maxWait="-1"/></Context>
2、完全なヒベルナツ.cfg.xml:
<?xml version='1.0' encoding='GBK'?>
<!DOCTYPE hibernate-configuration
      PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
      "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<!--Hibernate use JNDI to access container's connection pool-->
   <hibernate-configuration>
       <session-factory>
           <property name="connection.datasource">java:comp/env/jdbc/MySql5</property>
           <property name="show_sql">true</property>
           <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
           <mapping resource="cat/Cat.hbm.xml"/>
       </session-factory>
   </hibernate-configuration>
3、WEBアプリケーションのweb.xmlファイル:
web.xmlのの前に以下の構成を追加します。
<!--Hibernate use container's connection pool-->
   <resource-ref>
       <description>DB Connection</description>
       <res-ref-name>jdbc/MySql5</res-ref-name>
       <res-type>javax.sql.DataSource</res-type>
       <res-auth>Container</res-auth>
   </resource-ref>
以上、2種類のHibernateをデータベースに接続する方式で、具体的な違いは本人にはまだ十分ではないです。