本系列博客汇总在这里:Hibernate 汇总
hibernate.cfg.xml 剖析
- 一、数据库连接配置
- 二、可选配置
- 三、注册映射文件
一、数据库连接配置源码工程文件为:
必须配置
<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">root</property>
二、可选配置
1、Hibernate 默认使用的数据库的连接池,connection.pool_size 是连接池的连接数量。
<property name="connection.pool_size">1</property>
2、数据库的方言
Hibernate 可以支持多种数据库,不同数据库的 sql 会有差别,hibernate 可以根据不同的数据库来生成不同的 sql,每一种数据库 hibernate 为我们定义了一种方言。
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
3、是否输出 sql
是否在控制台输出 sql 语句
<property name="show_sql">true</property>
4、第三方的数据库连接池的配置(c3p0)
<!-- 数据库连接最小连接数 -->
<property name="c3p0.min_size">10</property>
<!-- 数据库最大连接数 -->
<property name="c3p0.max_size">100</property>
<!-- 连接数据库超时时间 -->
<property name="c3p0.timeout">3000</property>
5、建表策略
<property name="hbm2ddl.auto">none</property>
建表策略包含的四个值:
- None:不做任何事。
- Create:每次执行 hibernate 的操作时都删表建表。
- Create-drop:每次执行 hibernate 操作时都建表删表,SessionFactory 关闭就删表。
- Validate:每次执行 hibernate 操作就验证数据库的表和 mapping 的关系是否正确。
我们默认选择 none 或者不配置就 ok 了。
三、注册映射文件包名用/
分隔
<mapping resource="com/wyx/hiber/model/User.hbm.xml"/>
如有错误,欢迎指正!