数据库思想、框架总结

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-12 02:09:02

原始JDBC:
加载数据库驱动类
驱动管理工具类获取连接,写用户名,密码连接数据库;
利用java带的类,根据连接的数据库,获得一个可以输入sql语句的对象;
写sql语句;
执行语句;
如果为查询,得到一个ResultSet;
轮询ResultSet,人工组装成为你想要的类;

Spring提供的JDBC模板
减少了try,catch语句;

ORM
ORM:对象关系映射;
核心:ORM是一个实现使用对象操作数据库的设计思想,让编程人员不编写任何SQL语句;

完整的ORM框架:
包括Object->Relation和Relation->Object两方面
Hibernate是个完整的ORM框架,而MyBatis完成的是Relation->Object
在这里插入图片描述

JPA
JPA(Java Persistence API,Java持久化API),定义了对象-关系映射(ORM)以及实体对象持久化的标准接口。
Sun引入新的JPA ,ORM规范出于
两个原因:
其一,简化现有Java EE和Java SE应用开发工作;
其二,Sun希望整合ORM技术,实现天下归一。(提出ORM思想后,ORM的实现太多了,整合)

ORM的出现是由于面向对象的大潮,创作者希望对数据库的操作也使用面向对象,从而避免对sql的繁琐操作。

JPA包括三方面的技术:
ORM映射元数据
JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;即我们一般用的:@Entity、@Table…

API
用来操作实体对象,执行CRUD操作,框架在后台替代我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。

查询语言
这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。

JPA的主要API都定义在javax.persistence包中
例如:

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

ORM和JPA的不同
JPA是一套接口规范,其主要实现思想是ORM。

**Hibernate **
Hibernate是完整的ORM框架,也是对JPA的实现;

Mybatis
iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)
SQL Maps:把sql语句的查询结果,自动装配到JaveBean中;
DAOs:数据访问对象,用来访问数据库,(加载驱动、连接数据库、执行语句、释放资源等步骤帮你做好了)
MyBatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写SQL来实现和管理。

MyBatis是SQL映射框架而不是ORM框架

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!