Hibernate(一) 开发环境等基础知识

Hibernate JAR包介绍:
hibernate-core-xxx.Final.jar———————->Hibernate核心包
antlr-xxx.jar———————->Hibernate利用它实现从HQL到SQL的转换
dom4j-xxx.jar———————->解析XML配置文件和XML映射文件
hibernate-commons-annotation-xxx.Final.jar———————->Hibernate注解包
hibernate-jpa-2.1-api-1.0.0.Final.jar———————->JPA2.1的接口库
jandex-xxx.Final.jar———————->用来索引Annotation的
javassist-xxx-GA.jar———————->HIbernate用它来实现PO字节码的动态生成
Jboss-logging-xxx.jar———————->日志服务通用库
jboss-logging-annotations-xxx.Beta1———————->实现带注释的接口的具体类
jboss-transaction-api_1.2_spec-1.0.0.Final———————->JTA规范包

配置对象关系映射文件:XXX.hbm.xml
注册对象关系映射文件

根据对象关系映射文件生成DDL,使用SchemaExport工作类:
Configuration config = new Configuration().configure(cfg);
SchemaExport se = new SchemaExport(config);
se.create(true,true);

在Hibernate配置文件中添加如下配置:
create|update

操作过程:
创建SessionFactory实例
获取Session实例
开启事务
利用Session实例进行持久化操作
提交事务
关闭Session

Session类主要用来执行实体的持久化操作:
save(Object obj)
update(Object obj)
delete(Object obj)
get(ClassName.class,id)
session.load(ClassName.class,id)

什么是O\R Mapping

ORM(Object-Relation Mapping):对象/关系映射
对象和关系数据库之间映射的元数据(XML)

这里写图片描述

将对象数据保存到关系数据库的表中
将关系数据库表中数据读入到对象中

这里写图片描述

Hibernate开发环境搭建
hibernate.cfg.xml文件的作用
1.是Hibernate中的核心配置文件
2.配置连接数据库的各种属性
3.注册对象关系映射文件

添加日志服务配置文件
1.开发阶段的调试信息
2.运行时的日志记录

hibernate下载包里面 lib -> required 里面所用的包
导入 同时导入sql连接的包(mysql-connector-java-5.1.40-bin.jar) 日志包(junit-4.5.jar)

然后 project -> etc -> 复制hibernate.cfg.xml和log4j.properties到工程的src文件中

开发步骤
一,设计持久化实体类
1.setter和getter方法
2.公共的无参数的构造方法
3.对象标示符(OID)的属性
4.属性是集合类型,则必须定义成接口类型,如 : List, Set,Map
5.实现Serializable接口支持序列化

二,创建对象-关系映射文件
配置对象关系映射文件
Xxx.hbm.xml
注册关系对象文件

三, 准备好数据库表
根据对象关系映射文件生成DDL,使用SchemaExport工作类:
Configuration config = new Configuration().configure(cfg);
SchemaExport se = new SchemaExport(config);
se.create(true,true);

在Hibernate配置文件中添加如下配置:
create|update

使用hibernate API进行持久化操作
操作过程
创建SessionFactory实例
获取Session实例
开启事务
利用Session实例进行持久化操作
提交事务
关闭Session

Session类主要用来执行实体的持久化操作
1.save(Object obj)
2.update(Object obj)
3.delete(Object obj)
4.get(ClassName.class,id)
5.session.load(ClassName.class,id)

Configuration类负责管理Hibernate的配置信息作并根据配置信息启动Hibernate
Hibernate配置有两种方法
1属性文件(很少用)
2XML文件

SessionFactory 实例对应一个数据存储源,SessionFactory的特点:
1.线程安全
2.重量级的
所以如果一个程序只访问一个数据库时,只需要创建一个SessionFactory对象

Session接口
Session(持久化管理器),Session的特点:
1.线程不安全(代表和当前数据库的一次操作)
2.轻量级(创建和销毁不需要消耗太多资源)
3.Session被称为Hibernate的一级缓存
4.Session通过SessionFactory打开(所以用完之后要将Session关闭)
5.他与Web层的HttpSession没有任何关系

Transaction接口
Transaction接口是Hibernate数据库事务接口,它包括: JDBC API, JTA。
1.Hibernate进行持久化操作时(CRUD)必须进行事务控制

Query和Criteria接口
Query和Criteria接口都是Hibernate的查询接口
1.Query包装了一个HQL(Hibernate Query Language) 查询语句
2.Criteria接口擅长于执行动态查询

Hibernate工作机制
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡搜偶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值