前言
前面我们已经写了一个 SpringBoot 版本的 hello word 程序。这只是显示了 SpringBoot 强大功能的冰山一角,实际情况当然远比这个样例复杂。在我们的应用中,一个最常见的功能就是对关系数据库数据的存取。下面一些列文章主要讲述在 SpringBoot 中如何和数据库进行交互。在这之前,我们有必要聊一聊 Java 数据库访问相关的技术。
Java 数据库访问技术概述
JDBC
JDBC 的英文是 Java DataBase Connectivity 。它是 Java 原生的数据库访问技术。JDBC 是 Java 的发明者 SUN 提出的访问数据库的规范接口。它由一组 Java 访问数据的类和接口组成。每种数据库按照这个规范来实现该数据的数据库驱动程序。通过这种方式,无论存储数据的实际数据库是 Oracle、MySQL、MS SQLServer 还是其他的关系型数据库,我们都可以在一份代码里,通过配置的方式加载不同的数据库驱动程序,访问不同的数据库数据。配合标准的 SQL 语句,已经编写好的 Java 程序几乎可以在不修改任何代码的情况下无缝的切换后端的数据库类型。这个方式极大的提高了 Java 应用程序的应用范围。
JDBC 技术提供了访问数据库的基础能力。在实际使用的过程中,还是非常繁琐的。按照一般的过程,采用 JDBC 访问数据库要经过一下几个步骤
- 加载选择的数据库驱动程序类
- 通过数据库连接字符串和可选的用户名密码获取数据库连接
- 成功获取数据库连接后,在数据库连接上根据情况创建某种类型的 Statement
- 根据情况在 Statement 上执行 SQL语句。如果是查询,返回查询的 ResultSet 对象
- 如果是查询数据的操作,则遍历 ResultSet 对象,逐行取出里面每一列的数据。
- 如果是查询数据的操作,关闭 ResultSet 对象
- 关闭数据库连接对象
JDBC 是 Java 里面数据库访问的基础,其他的 ORM 、JPA 等 Java 的数据库访问技术都是