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>