Hibernate入门核心配置文件和orm元数据配置文件详解
框架是什么?
- 框架是用来提高开发效率的
- 封装了一些功能,我们需要使用这些功能时,调用即可,不用手动实现
- 所以框架可以理解为一个半成品的项目,只要懂得如何使用这些功能即可
Hibernate是完全面向对象的顶级框架
Hibernate框架的搭建
- 导包
- 书写主配置文件
upgrade:升级改善
Hibernate配置文件详解
- orm元数据配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- 配置表与实体对象的关系,package属性用于填写包名,如果配置了该属性,下面的类就不用写全类名 -->
<hibernate-mapping package="">
<!-- class元素:配置实体与表的对应关系
name:完整类名
table:数据库表名
-->
<class name="com.fei.domain.Customer" table="cst_customer">
<!-- id:主键映射
name:填写主键对应属性名
column:填写表中的主键列名
-->
<id name="cust_id" column="cust_id">
<!-- 主键生成策略 -->
<generator class="native"></generator>
</id>
<!-- 除id主键之外的普通属性映射
name:填写属性名
column(可选):填写属性对应表中的列名。默认值:使用使用属性名作为列名
type(可选):填写列的类型(有三种类型Java数据类型、数据库类型、hibernate类型)
not-null(可选):配置该属性是否能为空,默认false
length(可选):配置数据库中列的长度。默认值:使用数据库类型的最大长度
-->
<property name="cust_name" column="cust_name"></property>
<property name="cust_source" column="cust_source"></property>
<property name="cust_industry" column="cust_industry"></property>
<property name="cust_level" column="cust_level"></property>
<property name="cust_linkman" column="cust_linkman"></property>
<property name="cust_phone" column="cust_phone"></property>
<property name="cust_mobile" column="cust_mobile"></property>
</class>
</hibernate-mapping>
- 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">
<hibernate-configuration>
<session-factory>
<!-- 数据库连接 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///web13</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
<!-- 数据库方言:不同的数据库中,sql语法略有区别,指定方言可以让hibernate框架在生成sql语句时,针对数据库的方言生成
sql99标准: DDL 定义语言 :库表的增删改查
DCL 控制语言 :事务、权限相关
DML 操纵语言 :增删改查
-->
<!--MySql5.0之前的配置 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!--MySql5.0之后的配置 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 调试:在控制台打印sql语句并格式化sql语句 -->
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<!-- 自动建表方式 :自动建表-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 映射文件:引入orm元数据,路径填写src下的路径 -->
<mapping resource="com/fei/domain/Customer.hbm.xml" />
</session-factory>
</hibernate-configuration>