hibernate.cfg.xml配置总结【转】

Hibernate的描述文件可以是一个properties属性文件,也可以是一个xml文件。下面讲一下Hibernate.cfg.xml的配置。配置格式如下: 
1. 配置数据源 
    在Hibernate.cfg.xml中既可以配置JDBC,也可以配置JNDI。在本小节中讲述数据源如何配置。 
hibernate.cfg.xml

Xml代码     收藏代码
  1. <? xml   version = "1.0"   encoding = "UTF-8" ?>     
  2. <!DOCTYPE hibernate-configuration PUBLIC     
  3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"     
  4. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">     
  5.     
  6. < hibernate-configuration >       
  7.     < session-factory >     
  8.         <!-- 各属性的配置-->       
  9.         <!—为true表示将Hibernate发送给数据库的sql显示出来 -->     
  10.         < property   name = "show_sql" > true </ property >     
  11.         <!-- SQL方言,这边设定的是MySQL -->     
  12.         < property   name = "dialect" > net.sf.hibernate.dialect.MySQLDialect </ property >    
  13.         <!-- 一次读的数据库记录数 -->   
  14.         < property   name = "jdbc.fetch_size" > 50 </ property >     
  15.         <!-- 设定对数据库进行批量删除 -->     
  16.         < property   name = "jdbc.batch_size" > 30 </ property >       
  17.         <!—下面为JNDI的配置 -->     
  18.         <!-- 数据源的名称 -->     
  19.         < property   name = "connection.datasource" > java:comp/env/jdbc/datasourcename </ property >     
  20.         <!-- Hibernate的连接加载类 -->     
  21.         < property   name = "connection.provider_class" > net.sf.hibernate.connection.DatasourceConnectionProvider </ property >     
  22.         < property   name = "dialect" > net.sf.hibernate.dialect.SQLServerDialect </ property >     
  23.         <!—映射文件 -->     
  24.         < mapping   resource = "com/amigo/pojo/User.hbm.xml" />     
  25.         < mapping   resource = "com/amigo/pojo/Org.hbm.xml" />     
  26.     </ session-factory >     
  27. </ hibernate-configuration >     

 

2. c3p0连接池

    c3p0连接池是Hibernate推荐使用的连接池,若需要使用该连接池时,需要将c3p0的jar包加入到classpath中。c3p0连接池的配置示例如下: 
    hibernate.cfg.xml 

Xml代码     收藏代码
  1. <? xml   version = "1.0"   encoding = "UTF-8" ?>   
  2.   
  3. <!DOCTYPE hibernate-configuration PUBLIC  
  4.   
  5. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  6.   
  7. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">   
  8.   
  9. < hibernate-configuration >   
  10.   
  11. < session-factory >   
  12.   
  13.         <!-- 显示实际操作数据库时的SQL -->   
  14.   
  15.         < property   name = "show_sql" > true </ property >   
  16.   
  17.         <!-- SQL方言,这边设定的是MySQL -->   
  18.   
  19.         < property   name = "dialect" > net.sf.hibernate.dialect.MySQLDialect </ property >   
  20.   
  21.         <!--驱动程序,在后续的章节中将讲述mysql、sqlserver和Oracle数据库的配置 -->   
  22.   
  23.         < property   name = "connection.driver_class" > …… </ property >   
  24.   
  25.         <!-- JDBC URL -->   
  26.   
  27.         < property   name = "connection.url" > …… </ property >   
  28.   
  29.         <!-- 数据库用户名 -->   
  30.   
  31.         < property   name = "connection.username" > user </ property >   
  32.   
  33.         <!-- 数据库密码 -->   
  34.   
  35.         < property   name = "connection.password" > pass </ property >   
  36.   
  37.         < property   name = "c3p0.min_size" > 5 </ property >   
  38.   
  39.         < property   name = "c3p0.max_size" > 20 </ property >   
  40.   
  41.         < property   name = "c3p0.timeout" > 1800 </ property >   
  42.   
  43.         < property   name = "c3p0.max_statements" > 50 </ property >   
  44.   
  45.         <!-- 对象与数据库表格映像文件 -->   
  46.   
  47.        < mapping   resource = "com/amigo/pojo/User.hbm.xml" />   
  48.   
  49.        < mapping   resource = "com/amigo/pojo/Org.hbm.xml" />   
  50.   
  51.     </ session-factory >   
  52.   
  53. </ hibernate-configuration >   

 

    在上述配置中,Hibernate根据配置文件生成连接,再交给c3p0管理。

 

3. proxool连接池

    proxool跟c3p0以及dbcp不一样,它是自己生成连接的,因此连接信息放在proxool配置文件中。使用它时,需要将proxool-0.8.3.jar加入到classespath中。配置举例如下:

 

Xml代码     收藏代码
  1. <? xml   version = "1.0"   encoding = "UTF-8" ?>   
  2.   
  3. <!DOCTYPE hibernate-configuration PUBLIC  
  4.   
  5. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  6.   
  7. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">   
  8.   
  9. < hibernate-configuration >   
  10.   
  11. < session-factory >   
  12.   
  13.         <!-- 显示实际操作数据库时的SQL -->   
  14.   
  15.         < property   name = "show_sql" > true </ property >   
  16.   
  17.         <!-- SQL方言,这边设定的是MySQL -->   
  18.   
  19.         < property   name = "dialect" > net.sf.hibernate.dialect.MySQLDialect </ property >   
  20.   
  21. <!—proxool的配置 -->   
  22.   
  23.        < property   name = "proxool.pool_alias" > pool1 </ property >    
  24.   
  25. < property   name = "proxool.xml" > ProxoolConf.xml </ property >    
  26.   
  27. < property   name = "connection.provider_class" > net.sf.hibernate.connection.ProxoolConnectionProvider </ property >   
  28.   
  29.        <!-- 对象与数据库表格映像文件 -->   
  30.   
  31.        < mapping   resource = "com/amigo/pojo/User.hbm.xml" />   
  32.   
  33. < mapping   resource = "com/amigo/pojo/Org.hbm.xml" />   
  34.   
  35.   </ session-factory >   
  36.   
  37. </ hibernate-configuration >   

 

    在hibernate.cfg.xml的同目录下编写proxool的配置文件:ProxoolConf.xml,该文件的配置实例如下:

    ProxoolConf.xml

Xml代码     收藏代码
  1. <? xml   version = "1.0"   encoding = "utf-8" ?>    
  2. <!-- the proxool configuration can be embedded within your own application's.   
  3. Anything outside the "proxool" tag is ignored. -->    
  4. < something-else-entirely >    
  5.     < proxool >    
  6.         < alias > pool1 </ alias >    
  7.         <!--proxool只能管理由自己产生的连接-->   
  8.         <!-- 驱动的url-->   
  9.         <!-- jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=GBK-->   
  10.         < driver-url > …  </ driver-url >    
  11.         <!-- 驱动类,eg. com.mysql.jdbc.Driver-->   
  12.         < driver-class > … 
分享到:
评论

猜你喜欢

转载自oraclex.iteye.com/blog/1017501