1.1 为什么需要JDBC
JDBC(Java Database Connectivity) 是java应用程序和数据库的连接技术的简称,提供连接各种常用数据库的能力。
JDBC是sun公司推出的一套用于访问不同数据库的规范或标准(一组接口或抽象类)、java.sql.*

1.2 JDBC的使用
1.2.1 工作原理

(1)JDBC API:提供供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:DriverManager类、Connection接口、Statement接口、ResultSet接口
(2)DriverManager:依据数据库的不同,管理各种不同的JDBC驱动。
(3)JDBC 驱动:由数据库厂商提供,负责连接各种不同的数据库。
(4)JDBC API主要功能:与数据库建立连接、执行SQL 语句、处理结果。
DriverManager :依据数据库的不同,管理JDBC驱动。
Connection :负责连接数据库并担任传送数据的任务。
Statement :由 Connection 产生、负责执行SQL语句。
ResultSet:负责保存Statement执行后所产生的查询结果。
1.2.2 使用流程
JDBC的使用流程如下:
try { //1.加载JDBC驱动 Class.forName(JDBC驱动类); } … … try { //2.与数据库建立连接 Connection con=DriverManager.getConnection(URL,数据库用户名,密码); //3.发送SQL语句并得到结果 Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); //4.处理返回结果 while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); } //5.释放资源 rs.close(); stmt.close(); con.close(); }
数据库访问基类:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * 数据库访问基类 */ public class BaseDao { //数据库驱动 private String driver="com.mysql.jdbc.Driver"; //数据库连接地址 private String url="jdbc:mysql://localhost:3306/orcl"; //数据库用户名 private String name="root"; //数据库密码 private String password=""; public Connection conn;//数据库连接对象 public PreparedStatement ps;//数据库操作对象 public ResultSet rs;//存放结果数据 /** * 获取数据库连接 */ public Connection getConn(){ try { Class.forName(driver); this.conn=DriverManager.getConnection(url,name,password); } catch (Exception e) { e.printStackTrace(); } return conn; } public static void main(String[] args) throws Exception { //1. 获取连接 Connection conn=new BaseDao().getConn(); //2. 执行查询 String sql="select * from k_user"; PreparedStatement ps=conn.prepareStatement(sql); ResultSet rs=ps.executeQuery(); //3. 循环输出数据 while(rs.next()){ System.out.println("用户名是:"+rs.getString("username")); } } }
披荆斩棘,仗剑天涯
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通