Hibernate核心配置
1.Hibernate体系结构
Hibernate位于应用程序和数据库之间,将数据库底层完全封装, 应用程序只需要操作Persistent Objects(持久化对象),通过Hibernate生成SQL语句,完成对数据表中记录的操作
hibernate 支持两种核心配置文件
①src/hibernate.cfg.xml (完成基本属性配置,加载hbm映射文件)
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<mapping resource="cn/itcast/domain/Customer.hbm.xml"/> 加载hbm映射
②
src/hibernate.properties (key-value文件 键值对,主要配置 hibernate基本属性 )
hibernate.connection.driver_class=com.mysql.jdbc.Driver
* hibernate.properties 无法加载 hbm映射,采用properties方式,必须手动编程加载 hbm文件或者持久化类
2.Hibernate的常用属性
①必须属性
hibernate.dialect 操作数据库方言
hibernate.connection.driver_class 连接数据库驱动程序
hibernate.connection.url 连接数据库URL
hibernate.connection.username 数据库用户名
hibernate.connection.password 数据库密码
②可选属性
//在控制台上输出SQL语句,hibernate 自己完成的,并没有使用日志系统 ,当关闭日志后,控制台仍然有SQL语句
hibernate.show_sql true
//格式化控制台输出的SQL语句 *SQL 会自动换行,对于比较长的sql 查看方便
hibernate.format_sql true
hibernate.hbm2ddl.auto create/create-drop/update/validate DDL策略
* DDL 主要建表语句,和表结构更新语句
create:表示启动的时候先drop,再create (测试人员 准备标准测试数据)
create-drop: 也表示创建,只不过再系统关闭前执行一下drop (测试程序是否正确)
update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新 (建表,更新表结构【只能加】)
validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新
*** 在产品开发中 update 和 validate 使用较多
hibernate.connection.autocommit true 事务是否自动提交
* 用于解决 没有开启事务的操作时,事务如何自动处理
* 默认事务 自动回滚