数据库访问工具简介

数据库驱动程序(客户端开发包)

数据库是单独的应用程序, 提供数据查询和修改的服务(CS模式).
应用程序一般使用数据库驱动程序来访问数据库,数据库驱动程序一般由数据库开发商提供.
下面列举了一些mysql数据库的驱动程序:

ODBC

为了使应用程序和具体的数据库驱动独立, 出现了ODBC

ODBCOpen Database Connectivity,开放数据库互连)提供了一种标准的API应用程序接口方法来访问数据库管理系统(DBMS)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。ODBC的设计者们努力使它具有最大的独立性和开放性:与具体的编程语言无关,与具体的数据库系统无关,与具体的操作系统无关。
https://zh.wikipedia.org/zh-cn/ODBC

主要实现有: Microsoft ODBC, unixODBC, iODBC

JDBC

odbc对于java来说不是很友好, 于是出现了jdbc

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。JDBC是面向关系型数据库的。
https://zh.wikipedia.org/zh-cn/Java数据库连接

ORM框架

Object/Relational Mapping (ORM) framework

对象关系映射,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。

ORM框架有: Torque,OJB,Hibernate,TopLink,Castor JDO,TJDO,Active Record,NHibernate,ADO.NET Entity Framework 等.

JPA

Java Persistence API , java的持久化编程接口, 是java中对像持久化到关系数据库或者从关系数据库读取数据生成java对像的接口. 注意JPA是一个编程接口规范.
目前规范版本发展到2.2: https://jcp.org/en/jsr/detail?id=338
jpa是ORM的一种实现.

Hibernate

Hibernate是JPA的一个实现(同步包含了自身的一些扩展功能), 底层使用JDBC实现.
很有意思的是, JPA是参照Hibernate编写的 ^^.

Mybatis

MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来。
MyBatis是在Apache许可证 2.0下分发的自由软件,是iBATIS 3.0的分支版本。
与其他的对象关系映射框架不同,MyBatis并没有将Java对象与数据库表关联起来,而是将Java方法与SQL语句关联。

Mybatis并不是JPA的实现, 底层也是使用JDBC实现.

Spring Data Jpa

Sping Data Jpa是 Spring Data家族中的一员.
Spring Data Jpa 是Spring框架的一个对JPA的封装层, 让开发者可以很容易地使用统一方法去访问各种JPA.
https://docs.spring.io/spring-data/data-jpa/docs/current/reference/html/

你可能感兴趣的:(数据库)