二. Hibernate的基本配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LY121600HACKER/article/details/80171618

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

根据老师课堂笔记整理

猜你喜欢

转载自blog.csdn.net/LY121600HACKER/article/details/80171618