二. Hibernate的基本配置

1.Hibernate基本配置的內容

1.配置連接的數據庫

2.配置使用的SQL語法-方言

3.配置定位映射文件

4.配置檢索策略

5.配置緩存機制

2.Hibernate基本配置的方式

1.XML配置方式

(1).默認文件名:hibernate.cfg.xml

(2).位置:classpath (開發時:src,部署:/WEB-INF/classles)

(3).語法:

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

<hibernate-configuration>

      <session-factory>
          <!--屬性定義 -->
          <property name="屬性名"></property>
          <!--定位XML映射文件 -->
          <mapping resource="映射文件名"/>
          <!--定位Java註釋方式的Model類 -->
          <mapping class="類全名"/>

      </session-factory>

</hibernate-configuration>

注:Hibernate的所有的屬性名是固定的。

格式:hibernate.子屬性名

XML配置文件,屬性前綴hibernate.可以省略。

4.讀取XML文件

Configuration cfg=new Configuration();

cfg.configure(); //取得默認的XML配置文件

cfg.configure(“lhd.xml”);//取得自定義的XML配置文件

2.屬性文件配置方式

1.默認文件名:hibernate.properties

2.位置:classpath

3.語法:

屬性名=值

注:屬性名前綴hiernate.不能省略

4.讀取屬性文件:
Configuration cfg=new Configuration();

注:屬性文件不能指定映射文件。

3.數據庫連接的配置

(1).使用Hibernate內置的連接池管理機制

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/cityoa</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>

(2).使用C3P0連接池

啓用C3P0連接池,
在配置JDBC連接屬性後,再配置C3P0屬性即可。

C3P0的屬性前綴爲:hibernate.c3p0

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/cityoa</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>

<property name="c3p0.min_size">2</property>
<property name="c3p0.max_size">5</property>

(3).使用JavaEE服務器管理的數據庫連接池

案例:使用Tomcat配置的數據庫連接池

(1)配置Tomcat連接池

<Resource
      name="oa01"
      auth="Container"
      type="javax.sql.DataSource" 
      driverClassName="com.mysql.jdbc.Driver"
      maxIdle="2"
      maxWait="5000"
      url="jdbc:mysql://localhost:3306/cityoa"
      username="root"
      password="root"
      maxActive="20"
      removeAbandoned="true"  
      removeAbandonedTimeOut="5"  
      logAbandoned="true"
/>

(2)配置數據源的屬性

hibernate.connection.datasource=JNDI名

<property name="connection.datasource">java:comp/env/oa01</property>

4.配置數據庫方言

(1).功能:確定生成SQL的語法。

(2).屬性名:hibernate.dialect

(3).XML的配置語法:

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

(4).屬性文件語法

hibermate.dialect=org.hibernate.dialect.MySQLDialect

(5).常見的SQL方言

MySQL: org.hibernate.dialect.MySQLDialect

MySQL with InnoDB: org.hibernate.dialect.MySQLInnoDBDialect

MySQL with MyISAM: org.hibernate.dialect.MySQLMyISAMDialect

Oracle (any version): org.hibernate.dialect.OracleDialect

Oracle 9i/10g: org.hibernate.dialect.Oracle9Dialect

Microsoft SQL Server: org.hibernate.dialect.SQLServerDialect

5.SQL的方言類型

1.ANSI-SQL

2.MYSQL-SQL

select * from oa_departmen limit 0,10

3.T-SQL(SQL Server)

select top 10 from oa_department

4 .PL /SQL(Oracle)

select * from oa_department where rownum<=10

根據老師課堂筆記整理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章