一、JavaEE三层架构小说明
二、Hibernate入门 2.1、ORM(持久层)框架ORM
对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。
面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。
对象关系映射(Object-Relational Mapping)提供了概念性的、易于理解的模型化数据的方法。ORM方法论基于三个核心原则: 简单:以最基本的形式建模数据。传达性:数据库结构被任何人都能理解的语言文档化。精确性:基于数据模型创建正确标准化的结构。 典型地,建模者通过收集来自那些熟悉应用程序但不熟练的数据建模者的人的信息开发信息模型。建模者必须能够用非技术企业专家可以理解的术语在概念层次上与数据结构进行通讯。建模者也必须能以简单的单元分析信息,对样本数据进行处理。ORM专门被设计为改进这种联系。
简单的说:ORM相当于中继数据。具体到产品上,例如ADO.NET Entity Framework。DLINQ中实体类的属性[Table]就算是一种中继数据。
Hibernate:是一个数据持久化层的ORM框架。
Object:对象,java对象,此处特指JavaBean。
Relational:关系,二维表,数据库中的表。
Mapping:映射|映射元数据,对象中属性与表的字段存在的对应关系。
Hibernate 是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架。
ORM 就是通过将Java对象映射到数据库表,通过操作Java对象,就可以完成对数据表的操作。
Hibernate 提供了对关系型数据库增删改查操作。
2.3、主流的ORM框架JPA: Java Persistence API,JPA通过JDK 5.0注解或XML描述对象--关系表的映射关系。(只有接口规范)
Hibernate:是最流行的全自动ORM框架,通过对象关系--映射配置,可以完全脱离底层SQL。(理论上来讲,就是不用写sql语句了)
MyBatis:本是apache的一个开源项目iBatis,支持普通SQL查询、存储过程和高级映射的优秀持久层框架。是半自动ORM框架。
Apache的DBCPUtil(QueryRunner)、JNDIUtil(QueryRunner)、Spring的JDBCTemplate等等。
2.4、Hibernate的优点Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作。
Hibernate使用java的反射机制。
Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系。
三、Hibernate入门案例【掌握】 3.1、编写流程新建项目
导入jar包
创建数据库和表
编写JavaBean和相应的映射文件hibernate mapping(*.hbm.xml)
编写核心配置文件(hibernate.cfg.xml)--> 配置获取连接等参数
使用api测试
3.2、设计数据库和表 CREATE DATABASE day29;USER day29;
CREATE TABLE t_user(
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20),
password VARCHAR(20)
);
3.3、导入jar包
版本:3.6.10 --> hibernate 4 建议注解开发,hibernate 4 对 3 不兼容。
目录结构:
jar介绍:
项目中的lib结构:
3.4、编写JavaBean + 相应的映射文件Xxx.hbm.xml