目录1. 数据库客户端-服务器结构与设计阶段2. API应用程序编程接口的概念3. 数据库多样性与 JDBC 的诞生驱动程序的“生态”差异4. 驱动程序的获取途径编辑编辑编辑5. 手动下载 vs Maven 导入以 MySQL 驱动为例手动下载导入项目IDEA 示例6. JDBC 编程步骤核心流程步骤 1创建数据源DataSource步骤 2建立网络连接Connection步骤 3构造 SQL 语句PreparedStatement步骤 4执行 SQLUpdate 操作7. 异常处理SQLException总结1. 数据库客户端-服务器结构与设计阶段数据库交互基于客户端-服务器结构客户端工具cmd命令行、navicat图形化工具、自己编写代码实现Java 等语言。服务器提供数据库服务。设计/调试阶段客户端与服务器通过网络通信完成交互。2. API应用程序编程接口的概念MySQL 提供了一组API类/函数供其他程序调用。例如MySQL 原生 APIC 语言风格。其他数据库/中间件的 API操作系统、Redis、MQ 等。第三方大佬写好的程序/库。但我们更希望用Java 开发因此需要 Java 对数据库 API 的“封装”。3. 数据库多样性与 JDBC 的诞生市面上有多种数据库MySQL、Oracle、SQLServer、SQLite…不同数据库的 API 差异大学习成本高。Java 给出的解决方案JDBCJava Database Connectivity。由 Java 标准库提供一套类/方法把数据库 C 原生 API 封装成 Java 版本。对不同数据库厂商的 API 进行风格统一。驱动程序的“生态”差异商业公司驱动Sun/Oracle考虑实用性、盈利用户多。社区驱动C追求“炫酷/NB”但实用内容少如 SQLite/DB2 非客户端-服务器结构C 很少优先考虑。→ 第三方没有“一统天下”的类似 JDBC 的方案每个数据库厂商有自己的驱动。4. 驱动程序的获取途径驱动程序需额外下载安装Java 未内置有三种途径官网不太方便。GitHub开源仓库。Maven 仓库推荐类似“应用商店”服务器在海外国内访问可能慢但理论可打开。示例搜索mysql jdbc找到MySQL Connector/J注意mysql-connector-java已重命名为com.mysql:mysql-connector-j最新版需匹配 MySQL 服务器版本。5. 手动下载 vs Maven 导入以 MySQL 驱动为例手动下载从 Maven 仓库下载mysql-connector-j-8.0.33.jar或其他版本。jar 包本质类似 zip 压缩包包含编译后的.class文件是 Java 生态发布程序的主流方式。导入项目IDEA 示例在项目创建目录如lib将 jar 包复制进去lib Library库的计算机术语。右键lib目录 →Add as Library让项目识别到该 jar。6. JDBC 编程步骤核心流程步骤 1创建数据源DataSource数据源决定数据从哪来、数据库服务器在哪。注意不是所有数据库都是“客户端-服务器”结构如 SQLite/DB2 是本地程序无需网络。导入类import javax.sql.DataSource;DataSource 是接口public interface DataSource extends CommonDataSource, Wrapper示例代码两种方式// 方式1向上转型 向下转型演示用 DataSource dataSource new MysqlDataSource(); ((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/java117?characterEncodingutf8useSSLfalse); // 方式2直接实例化不转型更简洁 MysqlDataSource dataSource new MysqlDataSource(); dataSource.setURL(jdbc:mysql://127.0.0.1:3306/java117?characterEncodingutf8useSSLfalse); dataSource.setUser(root); dataSource.setPassword(2222);URL 格式jdbc:mysql://主机:端口/数据库名?参数步骤 2建立网络连接Connection通过数据源获取连接Connection connection dataSource.getConnection();→ 类比“打电话”拨号建立连接→ 对方接听同意连接→ 通话操作。步骤 3构造 SQL 语句PreparedStatement客户端把 SQL 发给服务器执行SQL 需是“语句对象”预处理减少语法检查开销。示例插入数据String sql insert into student values(null, 张三); PreparedStatement preparedStatement connection.prepareStatement(sql);→ 服务器端会解析 SQL语法检查、优化再执行。步骤 4执行 SQLUpdate 操作增、删、改、建表等属于update 操作用executeUpdate()这是把SQL语句发送到MySQL服务器上进行int n preparedStatement.executeUpdate(); System.out.println(n n); // 影响行数7. 异常处理SQLExceptionJDBC 抛出SQLException需显式处理方式 1throws抛给上层方法处理如main方法声明throws SQLException。方式 2try-catch捕获处理。→ 类比“开车”throws是“驾照”允许上路事故找交警try-catch是“事故处理”自己解决。总结JDBC 是 Java 操作数据库的标准方案核心是封装数据库 API、统一操作风格。流程围绕「数据源 → 连接 → SQL 语句 → 执行」展开需注意驱动版本匹配、URL 格式、异常处理等细节。本课代码import com.mysql.cj.jdbc.MysqlDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class Jdbc { public static void main(String[] args) throws SQLException { // // 方式1向上转型 向下转型演示用 // DataSource dataSource new MysqlDataSource(); // ((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/java117?characterEncodingutf8useSSLfalse); // 方式2直接实例化不转型更简洁 MysqlDataSource dataSource new MysqlDataSource(); dataSource.setURL(jdbc:mysql://127.0.0.1:3306/java117?characterEncodingutf8useSSLfalse); dataSource.setUser(root); dataSource.setPassword(Ss.123888); //步骤 2建立网络连接Connection Connection connection dataSource.getConnection(); //步骤 3构造 SQL 语句PreparedStatement String sql insert into student values(null, 张三, 15, 3); PreparedStatement preparedStatement connection.prepareStatement(sql); //步骤 4执行 SQLUpdate 操作 int n preparedStatement.executeUpdate(); System.out.println(n n); // 影响行数 } }
21.jdbc 学习笔记:从原理到实践的全流程梳理
发布时间:2026/5/23 2:59:37
目录1. 数据库客户端-服务器结构与设计阶段2. API应用程序编程接口的概念3. 数据库多样性与 JDBC 的诞生驱动程序的“生态”差异4. 驱动程序的获取途径编辑编辑编辑5. 手动下载 vs Maven 导入以 MySQL 驱动为例手动下载导入项目IDEA 示例6. JDBC 编程步骤核心流程步骤 1创建数据源DataSource步骤 2建立网络连接Connection步骤 3构造 SQL 语句PreparedStatement步骤 4执行 SQLUpdate 操作7. 异常处理SQLException总结1. 数据库客户端-服务器结构与设计阶段数据库交互基于客户端-服务器结构客户端工具cmd命令行、navicat图形化工具、自己编写代码实现Java 等语言。服务器提供数据库服务。设计/调试阶段客户端与服务器通过网络通信完成交互。2. API应用程序编程接口的概念MySQL 提供了一组API类/函数供其他程序调用。例如MySQL 原生 APIC 语言风格。其他数据库/中间件的 API操作系统、Redis、MQ 等。第三方大佬写好的程序/库。但我们更希望用Java 开发因此需要 Java 对数据库 API 的“封装”。3. 数据库多样性与 JDBC 的诞生市面上有多种数据库MySQL、Oracle、SQLServer、SQLite…不同数据库的 API 差异大学习成本高。Java 给出的解决方案JDBCJava Database Connectivity。由 Java 标准库提供一套类/方法把数据库 C 原生 API 封装成 Java 版本。对不同数据库厂商的 API 进行风格统一。驱动程序的“生态”差异商业公司驱动Sun/Oracle考虑实用性、盈利用户多。社区驱动C追求“炫酷/NB”但实用内容少如 SQLite/DB2 非客户端-服务器结构C 很少优先考虑。→ 第三方没有“一统天下”的类似 JDBC 的方案每个数据库厂商有自己的驱动。4. 驱动程序的获取途径驱动程序需额外下载安装Java 未内置有三种途径官网不太方便。GitHub开源仓库。Maven 仓库推荐类似“应用商店”服务器在海外国内访问可能慢但理论可打开。示例搜索mysql jdbc找到MySQL Connector/J注意mysql-connector-java已重命名为com.mysql:mysql-connector-j最新版需匹配 MySQL 服务器版本。5. 手动下载 vs Maven 导入以 MySQL 驱动为例手动下载从 Maven 仓库下载mysql-connector-j-8.0.33.jar或其他版本。jar 包本质类似 zip 压缩包包含编译后的.class文件是 Java 生态发布程序的主流方式。导入项目IDEA 示例在项目创建目录如lib将 jar 包复制进去lib Library库的计算机术语。右键lib目录 →Add as Library让项目识别到该 jar。6. JDBC 编程步骤核心流程步骤 1创建数据源DataSource数据源决定数据从哪来、数据库服务器在哪。注意不是所有数据库都是“客户端-服务器”结构如 SQLite/DB2 是本地程序无需网络。导入类import javax.sql.DataSource;DataSource 是接口public interface DataSource extends CommonDataSource, Wrapper示例代码两种方式// 方式1向上转型 向下转型演示用 DataSource dataSource new MysqlDataSource(); ((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/java117?characterEncodingutf8useSSLfalse); // 方式2直接实例化不转型更简洁 MysqlDataSource dataSource new MysqlDataSource(); dataSource.setURL(jdbc:mysql://127.0.0.1:3306/java117?characterEncodingutf8useSSLfalse); dataSource.setUser(root); dataSource.setPassword(2222);URL 格式jdbc:mysql://主机:端口/数据库名?参数步骤 2建立网络连接Connection通过数据源获取连接Connection connection dataSource.getConnection();→ 类比“打电话”拨号建立连接→ 对方接听同意连接→ 通话操作。步骤 3构造 SQL 语句PreparedStatement客户端把 SQL 发给服务器执行SQL 需是“语句对象”预处理减少语法检查开销。示例插入数据String sql insert into student values(null, 张三); PreparedStatement preparedStatement connection.prepareStatement(sql);→ 服务器端会解析 SQL语法检查、优化再执行。步骤 4执行 SQLUpdate 操作增、删、改、建表等属于update 操作用executeUpdate()这是把SQL语句发送到MySQL服务器上进行int n preparedStatement.executeUpdate(); System.out.println(n n); // 影响行数7. 异常处理SQLExceptionJDBC 抛出SQLException需显式处理方式 1throws抛给上层方法处理如main方法声明throws SQLException。方式 2try-catch捕获处理。→ 类比“开车”throws是“驾照”允许上路事故找交警try-catch是“事故处理”自己解决。总结JDBC 是 Java 操作数据库的标准方案核心是封装数据库 API、统一操作风格。流程围绕「数据源 → 连接 → SQL 语句 → 执行」展开需注意驱动版本匹配、URL 格式、异常处理等细节。本课代码import com.mysql.cj.jdbc.MysqlDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class Jdbc { public static void main(String[] args) throws SQLException { // // 方式1向上转型 向下转型演示用 // DataSource dataSource new MysqlDataSource(); // ((MysqlDataSource)dataSource).setURL(jdbc:mysql://127.0.0.1:3306/java117?characterEncodingutf8useSSLfalse); // 方式2直接实例化不转型更简洁 MysqlDataSource dataSource new MysqlDataSource(); dataSource.setURL(jdbc:mysql://127.0.0.1:3306/java117?characterEncodingutf8useSSLfalse); dataSource.setUser(root); dataSource.setPassword(Ss.123888); //步骤 2建立网络连接Connection Connection connection dataSource.getConnection(); //步骤 3构造 SQL 语句PreparedStatement String sql insert into student values(null, 张三, 15, 3); PreparedStatement preparedStatement connection.prepareStatement(sql); //步骤 4执行 SQLUpdate 操作 int n preparedStatement.executeUpdate(); System.out.println(n n); // 影响行数 } }