ssh框架之hibernate--hibernate环境的搭建(Ⅲ 创建hibernate的核心配置文件)
1. 核心配置文件xml,但是核心配置文件的名称和位置是固定的。
位置必须在src下,名称必须叫hibernate.cfg.xml
2. 引入dtd约束
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
3. 在核心配置文件中进行相关配置。<hibernate-configuration></hibernate-configuration>
Hibernate在操作过程中只会加载核心配置文件,而其他配置文件不会进行加载。
(1)将配置信息写在<hibernate-configuration></hibernate-configuration>中的<session-factory></session-factory>
里。
(2)配置分成三个部分:第一部分:配置数据库信息
常用数据库信息配置属性
属性名 | 用途 |
hibernate.connection.driver_class | jdbc驱动类 |
hibernate.connection.url | jdbc URL路径 |
hibernate.connection.username | 数据库用户名 |
hibernate.connection.password | 数据库用户密码 |
<!-- 第一部分:配置数据库信息(必须) -->
<!-- (1)hibernate.connection.driver_class jdbc驱动类
(2)hibernate.connection.url jdbc URL路径
(3)hibernate.connection.username 数据库用户
(4)hibernate.connection.password 数据库用户密码
-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernate_01</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
第二部分:配置hibernate信息
常用hibernate可选配置信息
属性名 | 用途 |
hibernate.show_sql | 输出所有SQL语句到控制台(true | false) |
hibernate.format_sql | 格式化SQL输出语句 (true | false) |
hibernate.hbm2ddl.auto | hibernate帮忙创建表 update:若表已经存在更新;否则创建 |
hibernate.dialect | 配置数据库方言(识别不同数据库的语句) 如:org.hibernate.dialect.MySQLDialect 在mysql里面实现分页用关键字limit,只在MySQL中能用;oracle中实现分页使用rownum |
<!-- 第二部分:配置hibernate信息(可选) -->
<!--
hibernate.show_sql:输出所有SQL语句到控制台. true | false
hibernate.format_sql:格式化SQL输出语句。 true | false
hibernate.hbm2ddl.auto:hibernate帮忙创建表
update:若表已经存在更新;否则创建
hibernate.dialect:配置数据库方言(识别不同数据库的语句)
如:org.hibernate.dialect.MySQLDialect
在mysql里面实现分页用关键字limit,只在MySQL中能用;oracle中实现分页使用rownum
-->
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
第三部分:把映射文件放到核心配置文件中
<!-- 第三部分:把映射文件放到核心配置文件中(必须) -->
<!-- resource中写上映射文件的路径和名称 -->
<!-- 文件的路径和类的路径写法有区分 -->
<mapping resource="com/test/entity/User.hbm.xml"/>
(3)完整代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 第一部分:配置数据库信息(必须) -->
<!-- (1)hibernate.connection.driver_class jdbc驱动类
(2)hibernate.connection.url jdbc URL路径
(3)hibernate.connection.username 数据库用户
(4)hibernate.connection.password 数据库用户密码
-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernate_01</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<!-- 第二部分:配置hibernate信息(可选) -->
<!--
hibernate.show_sql:输出所有SQL语句到控制台. true | false
hibernate.format_sql:格式化SQL输出语句。 true | false
hibernate.hbm2ddl.auto:hibernate帮忙创建表
update:若表已经存在更新;否则创建
hibernate.dialect:配置数据库方言(识别不同数据库的语句)
如:org.hibernate.dialect.MySQLDialect
在mysql里面实现分页用关键字limit,只在MySQL中能用;oracle中实现分页使用rownum
-->
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 第三部分:把映射文件放到核心配置文件中(必须) -->
<!-- resource中写上映射文件的路径和名称 -->
<!-- 文件的路径和类的路径写法有区分 -->
<mapping resource="com/test/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>