ssh框架之hibernate--hibernate环境的搭建(Ⅲ 创建hibernate的核心配置文件)

时间:2022-02-20 08:22:41

ssh框架之hibernate--hibernate环境的搭建(Ⅲ 创建hibernate的核心配置文件)

1. 核心配置文件xml,但是核心配置文件的名称和位置是固定的。

位置必须在src下,名称必须叫hibernate.cfg.xml

ssh框架之hibernate--hibernate环境的搭建(Ⅲ 创建hibernate的核心配置文件)

2. 引入dtd约束

ssh框架之hibernate--hibernate环境的搭建(Ⅲ 创建hibernate的核心配置文件)

ssh框架之hibernate--hibernate环境的搭建(Ⅲ 创建hibernate的核心配置文件)

<?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>