Hitermate (a) Hibernate mapping file configuration

EE classic three-tier structure

Here Insert Picture Description

What is the framework

软件的半成品,已经完成部分的功能

What is Hibernate

Hibernate是一个持久层的ORM框架。

What is ORM

ORM: Object Relational Mapping (Object-relational mapping). It refers to the establishment of a mapping between Java objects in a relational database table, so that the operator can manipulate objects on tables in the database.

Why learn Hibernate

Here Insert Picture Description

A common configuration of Hibernate

XML configuration question
See in particular
can not hibernate when prompted about writing xml document solutions
mapped configuration

class标签的配置
	标签用来建立类与表的映射关系
	属性:
		name		:类的全路径
		table		:表名(类名与表名一致,table可以省略)
		catalog		:数据库名
id标签的配置
	标签用来建立类中的属性与表中的主键的对应关系
	属性:
		name		:类中的属性名
		column		:表中的字段名(类中的属性名和表中的字段名如果一致,column可以省略)
		length		:长度
		type		:类型
property标签的配置
	标签用来建立类中的普通属性与表的字段的对应关系
	属性:
		name		:类中的属性名
		column		:表中的字段名(类中的属性名和表中的字段名如果一致,column可以省略)
		length		:长度
		type		:类型
		not-null	:设置非空
		unique		:设置唯一

Core Configuration

必须的配置
连接数据库的基本的参数
	驱动类
	url路径
	用户名
	密码
方言
可选的配置
显示SQL		:hibernate.show_sql
格式化SQL	:hibernate.format_sql
自动建表	:hibernate.hbm2ddl.auto
	none		:不使用hibernate的自动建表
	create		:如果数据库中已经有表,删除原有表,重新创建,如果没有表,新建表。(测试)
	create-drop	:如果数据库中已经有表,删除原有表,执行操作,删除这个表。如果没有表,新建一个,使用完了删除该表。(测试)
	update		:如果数据库中有表,使用原有表,如果没有表,创建新表(更新表结构)
	validate	:如果没有表,不会创建表。只会使用数据库中原有的表。(校验映射和表结构)。
映射文件的引入

The Hibernate API

Configuration: Hibernate configuration object

作用:
	加载核心配置文件
	加载映射文件

SessionFactory: Session factory

SessionFactory内部维护了Hibernate的连接池和Hibernate的二级缓存。是线程安全的对象。一个项目创建一个对象即可。
配置连接池
抽取工具类

Session: Connection object is similar to the connection object

Session代表的是Hibernate与数据库的链接对象。不是线程安全的。与数据库交互桥梁。
方法:
	 save
	 get/load
	 update
	 delete
	 saveOrUpdate
	 creatQuery
	 createSQLQuery
***** get方法和load方法的区别	
		 * get方法
		 * 	* 采用的是立即加载,执行到这行代码的时候,就会马上发送SQL语句去查询。
		 *  * 查询后返回是真实对象本身。
		 * 	* 查询一个找不到的对象的时候,返回null
		 * 
		 * load方法
		 * 	* 采用的是延迟加载(lazy懒加载),执行到这行代码的时候,不会发送SQL语句,当真正使用这个对象的时候才会发送SQL语句。
		 *  * 查询后返回的是代理对象。javassist-3.18.1-GA.jar 利用javassist技术产生的代理。
		 *  * 查询一个找不到的对象的时候,返回ObjectNotFoundException

Transaction: Transaction Object

Hibernate中管理事务的对象
	commit();
	rollback();
Published 60 original articles · won praise 4 · Views 1283

Guess you like

Origin blog.csdn.net/qq_43966129/article/details/105028593