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
根據老師課堂筆記整理