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
根据老师课堂笔记整理