- 数据库连接配置
- 可选配置
- 资源注册
- 二级缓存的配置(后期详解)
- 查询缓存(后期详解)
hibernate.cfg.xml是默认的文件名称,可以随便起名,建议使用hibernate.cfg.xml
1.数据库连接配置(必须配置)
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hiber01</property>
<property name="connection.username">root</property>
<property name="connection.password">123</property>
2.可选配置hibernate默认使用数据库的连接池
<!-- 设置数据库连接池的初始化连接数 -->
<property name="connection.pool_size">1</property>
数据库的方言:Hibernate可以支持多种数据库,不同数据库的sql会有差别,hibernate可以根据不同的数据库来生成不同的sql,每一种数据库hibernate为我们定义了一种方言。
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
是否输出sql:是否在控制台输出sql语句
<property name="show_sql">true</property>
高级配置
第三方的数据库连接池的配置(C3P0)
<!--数据库连接最小连接数-->
<property name="c3p0.min_size">10</property>
<!--最大连接数-->
<property name="c3p0.max_size">100</property>
<!--连接数据库超时时间-->
<property name="c3p0.timeout">3000</property>
创建策略:有四个值
<!--执行的时候创建表-->
<property name="hibernate.hbm2ddl.auto">create</property>
在SessionFactory 一关闭,它就会把表删掉
<property name="hibernate.hbm2ddl.auto">create-drop</property>
每次加载hibernate的时候验证数据库表中跟model会去对比:
<property name="hibernate.hbm2ddl.auto">validate</property>
默认值的,什么都不干
<property name="hibernate.hbm2ddl.auto">none</property>
3.注册映射文件:包名用/分隔
<mapping resource="model/User.hbm.xml"/>