首页 > 代码库 > hibernate.cfg.xml

hibernate.cfg.xml

  1. 配置JDBC的连接:

<!--配置数据库的驱动程序,Hibernate在连接数据库时,需要用到数据库的驱动程序-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
<!--设置数据库的连接url:jdbc:mysql://localhost/hibernate,其中localhost表示mysql服务器名称,此处为本机,     hibernate是数据库名-->  
<property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate</hibernate>
<!--连接数据库是用户名-->
<property name="hibernate.connection.username">root</property> 
<!--连接数据库是密码-->
<property name="hibernate.connection.password">123456</property>         
<!--数据库连接池的大小-->
<property name="hibernate.connection.pool.size">20</property>

2.配置c3p0连接池:

<!--用c3p0连接池连接所允许的最大连接数--> 
        <property name="hibernate.c3p0.max_size">20</property> 
        <!-- c3p0所允许的最少连接数 --> 
        <property name="hibernate.c3p0.min_size">1</property> 
        <!-- 指定连接池连接失效的时间 --> 
        <property name="hibernate.c3p0.timeout">50</property> 
        <!-- 指定连接池缓存最大的存储多少个statement --> 
        <property name="hibernate.c3p0.max_statements">100</property> 
        <!-- hibernate.c3p0.timeout表示连接对象多长时间应该被销毁, 
          注意,是”应该“,但是谁来销毁它呢,需要一个线程按照hibernate.c3p0.idle_test_period 
         设定的时间间隔去自动校验这些链接对象并销毁timeout的 --> 
        <property name="hibernate.c3p0.idle_test_period">30</property> 
       <!--  当连接池里面的连接用完的时候,C3P0一下获取的新的连接数  --> 
        <property name="hibernate.c3p0.acquire_increment">2</property>

3.其他配置:

<!-- 连接数据库的数据库方言 --> 
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> 
<!--是否在后台显示Hibernate用到的SQL语句,开发时设置为true,便于差错,程序运行时可以在Eclipse的控制台显示H    ibernate的执行Sql语句。项目部署后可以设置为false,提高运行效率-->
<property name="hibernate.show_sql">true</property>
<!--jdbc.fetch_size是指Hibernate每次从数据库中取出并放到JDBC的Statement中的记录条数。Fetch Size设的越大,读数据库的次数越少,速度越快,Fetch Size越小,读数据库的次数越多,速度越慢-->
         <property name="jdbc.fetch_size">50</property>
<!--jdbc.batch_size是指Hibernate批量插入,删除和更新时每次操作的记录数。Batch Size越大,批量操作的向数据库发送Sql的次数越少,速度就越快,同样耗用内存就越大-->
<property name="jdbc.batch_size">23</property>
<!--connection.characterEncoding连接数据库时数据的传输字符集编码方式,最好设置为gbk,用gb2312有的字符不全-->
<property name="connection.characterEncoding">gbk</property>

4.二级缓存配置属性:

属性名 用途
hibernate.cache.provider_class 指定CacheProvider的类名
hibernate.cache.use_minnimal_puts 以更频繁的读操作作为代价,将写操作减到最少从而达到优化二级缓存的目的,对集群缓存更有效
hibernate.cache.use_query_cache 设置是否启用查询缓存,个别查询需要设置该属性
hibernate.cache.use_second_level_cache 可以使用这个属性完全禁用二级缓存
hibernate.cache.query_cache_factory 指定QueryCache接口的实现类类名