1.JDBC是什么?
JDBC代表Java数据库连接,并提供一组JavaAPI,用于Java程序访问关系数据库。这些Java的API允许Java程序执行SQL语句,并与任何SQL兼容的数据库进行交互。JDBC提供了一个灵活的架构来编写一个独立于数据库应用程序,它可以在不同的平台上运行,并与不同的数据库管理系统交互,而无需任何修改。
JDBC的优点和缺点
JDBC的优点 |
JDBC的缺点 |
干净和简单的SQL处理 良好的性能与大数据 用于小型应用很不错 简单,语法很容易学习 |
复杂,如果它被用在大型工程项目 大的编程开销 无封装 难以实现MVC的概念 查询是具体的数据库管理系统 |
2.为什么用对象关系映射(ORM)?
当我们与一个面向对象的系统工作,会面临对象模型和关系数据库之间的不匹配的问题。 RDBMS代表以表格格式数据,而面向对象的语言,如Java或C#是将这种数据关系其表示为对象的互连图。考虑与下面数据结构相应的Java类和相关的公共功能:
create table EMPLOYEE (
idINT NOT NULL auto_increment,
first_name VARCHAR(20)default NULL,
last_name VARCHAR(20)default NULL,
salary INT default NULL,
PRIMARY KEY (id)
);
第一个问题,如果我们在开发有几页或我们的应用程序后,需要修改数据库的结构,怎么办,大量的代码修改?
其次,加载并存储对象在关系数据库使我们面临以下五大不匹配的问题:Granularity,Inheritance,Identity,Associations,Navigation。
对象 - 关系映射(ORM)是解决处理所有上述问题的一种方法。
3.什么是ORM?
ORM代表对象 - 关系映射(ORM),是一种ORM系统已通过结合JDBC的优点的处理关系数据库和面向对象编程语言(如Java,C#等)之间转换数据的编程技术。
S.N. |
优点 |
1 |
让业务代码访问对象,而不是数据库表。 |
2 |
隐藏了面向对象的逻辑SQL详情。 |
3 |
基于JDBC的“引擎” |
4 |
无需处理数据库实现。 |
5 |
基于业务概念,而不是数据库结构的实体。 |
6 |
事务管理和自动密钥生成。 |
7 |
应用程序的快速开发。 |
ORM解决方案由以下四种实体:
S.N. |
解决 |
1 |
一个API来对持久化类的对象执行基本的CRUD操作。 |
2 |
面向对象的语言或API来指定引用的类和类的属性查询。 |
3 |
一个可配置的设备,用于指定映射元数据。 |
4 |
技术与事务对象交互,以执行脏数据检查,懒关联加载,以及其他优化功能。 |
4.Java ORM框架:
有几种持久性框架和Java相关持久性框架是一个ORM的服务,存储和检索对象到关系型数据库。
Ø 企业JavaBeans实体Bean
Ø Java Data Objects
Ø Castor
Ø TopLink
Ø Spring DAO
Ø Hibernate
Ø And many more