1.什么是持久化(persistence):
持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。
大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。
持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。JPA:JavaEE的规范,Java persistence api: Java的持久化API. Hibernate实现了该规范.(xml/注解)
在Java中,数据库存取技术只能通过JDBC访问数据库:
JDBC访问数据库的形式主要有两种:
1.直接使用JDBC的API去访问数据库服务器(MySQL/Oracle).
2.间接地使用JDBC的API去访问数据库服务器.第三方O/R Mapping工具,如Hibernate, MyBatis等.(底层依然是JDBC)
JDBC是java访问数据库的基石,其他技术都是对jdbc的封装.
2.JDBC
JDBC(Java DataBase Connectivity):
- 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序.
- JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。
- JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。
总结: JDBC本身是java连接数据库的一个标准,是进行数据库连接的抽象层,由java编写的一组类和接口组成,接口的实现由各个数据库厂商来完成
3.JDBC的版本
JDBC隶属于JavaSE的范畴,伴随着JavaSE的版本升级.
- Java6开始:JDBC4.0: (了解),JDBC4.0有一个新特性-无需加载注册驱动.
- Java7开始:JDBC4.1:
4.JDBC的API在哪里?
- 在JDK的API中.java.sql包装的就是JDBC的API.
JDBC的API.png
- 各大数据库厂商就会对JDBC的API提供实现类.--->驱动包
JDBC的API实现.png
注意:
- 在开发中(编写的Java代码),使用到的关于JDBC的类/接口全部引入的是:java.sql包中的或者是javax.sql包中的。千万不要引入com.mysql..Xxx类.
- 面向接口编程:
JDBC的接口 变量 = new MySQL的实现();
JDBC的接口 变量 = new Oracle的实现();