JavaWeb学习笔记(十四) Hibernate常见配置

上一节已经进行了Hibernate的入门,这节主要详细的讲解映射文件和核心配置文件的配置。

1. 映射文件的配置

(1)首先引入Hibernate映射文件标签库
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
(2)映射文件的根标签

对hibernate属性文件的配置都存放在这个更标签中。

<hibernate-mapping><hibernate-mapping>
  • class标签的配置
    用来建立类和表的映射关系
<class> </calss>
其中的属性:
name: 类的全路径
table:数据库中表的名称
catalog: 数据库名(可以不填)

  • id标签
    用来建立类中的属性和数据库中表中主键的对应关系
<id></id>
其中的属性:
name: 类中的属性
column:数据库中表中的主键
length:表自动创建时的长度
type:表自动创建时的类型
  • property标签配置
    用于建立类中的普通属性与表中字段的对应关系
<property></property>
其中的属性:
name:类中的属性
column:数据库中表的字段
length:自动创建表时的一些条件,下同
type: 有三种写法可供选择,java(java.lang.String)、sql、hibernate(string)
not-null:
unique:

2. 核心配置文件的配置

  • 同样需要引入标签库
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

下面有三部分的配置,分别时必须的配置,可选的配置,引入映射文件的配置,这些配置都在session-factory中

  • 必须的配置
    这是连接数据库的基本参数
// 数据库驱动
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
// 数据库url
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property>
// 数据库账户
<property name="hibernate.connection.username">root</property>
// 数据库密码
<property name="hibernate.connection.password">1234</property>
// hibernate方言配置
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

对于方言的解释:Hibernate的底层依然使用sql语句执行数据的操作,虽然所有数据库都支持使用标准SQL语句,但所有的数据库都对标准sql语句进行了扩展,所以在语法细节上有一些差异。因此,我们需要配置方言让Hibernate识别这些差异。

  • 可选的配置
<!-- 可选配置 -->
		<!-- 打印SQL语句到控制台 -->
		<property name="hibernate.show_sql">true</property>		
		<!-- 格式化sql语句 -->
		<property name="hibernate.format_sql">true</property>
		<!-- 自动创建表 -->		
		<property name="hibernate.hbm2ddl.auto">update</property>		
			自动创建表的属性对应值:
			none:不适用hibernate创建表
			create:如果数据库中存在表,删除重新创建,没有表的话直接创建
			create-drop:如果数据库中存在表,删除重新创建,没有表的话直接创建,使用结束之后,删除表
			update:如果数据库中存在表,使用原有表,没有表的话直接创建(更新表结构)
			validate:只能使用数据库中原有的表(校验映射和表结构,不一致会报错)
  • 映射文件的引入
    将配置的映射文件引入进来
	<!-- 配置映射文件 -->
		<mapping resource="time/Customer.hbm.xml "/>

猜你喜欢

转载自blog.csdn.net/Time__Lc/article/details/88975286