JDBC的介绍与使用

本文介绍了Java数据库连接(JDBC)的基本概念和工作原理,包括JDBC的体系结构、JDBCAPI的主要组件如DriverManager、Connection、Statement和ResultSet。通过示例展示了如何使用JDBC进行数据库的连接、SQL语句执行和结果集的遍历。
摘要由CSDN通过智能技术生成

JDBC

Java DataBase Connectivity 是⼀个独⽴于特定数据库的管理系统,通⽤的 SQL 数据库存取和操作的公
共接⼝。
定义了⼀组标准,为访问不同数据库提供了统⼀的途径。
在这里插入图片描述

JDBC 体系结构

JDBC 接⼝包括两个层⾯:
⾯向应⽤的 API,供程序员调⽤
⾯向数据库的 API,供⼚商开发数据库的驱动程序
在这里插入图片描述
JDBC API
提供者:Java 官⽅
内容:供开发者调⽤的接⼝
java.sql 和 javax.sql
DriverManager 类
Connection 接⼝
Statement 接⼝
ResultSet 接

DriverManager
提供者:Java 官⽅
作⽤:管理不同的 JDBC 驱动
JDBC 驱动
提供者:数据库⼚商
作⽤:负责连接不同的数据库

JDBC 的使用

1、加载数据库驱动,Java 程序和数据库之间的桥梁。

 Class.forName("com.mysql.cj.jdbc.Driver");

2、获取 Connection,Java 程序与数据库的⼀次连接。

 //获取连接
 String url = "jdbc:mysql://localhost:3306/test?
useUnicode=true&characterEncoding=UTF-8";
 String user = "root";
 String password = "root";
 Connection connection =
DriverManager.getConnection(url,user,password);

3、创建 Statement 对象,由 Connection 产⽣,执⾏ SQL 语句。

 String sql = "select * from student";
 Statement statement = connection.createStatement();

4、如果需要接收返回值,创建 ResultSet 对象,保存 Statement 执⾏之后所查询到的结果。

 ResultSet resultSet = statement.executeQuery(sql);
 while (resultSet.next()){
 Integer id = resultSet.getInt("id");
 String name = resultSet.getString(2);
 Double score = resultSet.getDouble(3);
 Date date = resultSet.getDate(4);
 System.out.println(id+"-"+name+"-"+score+"-"+date);
 }
package com.southwind.test;
import java.sql.*;
import java.util.Date;
public class Test {
 public static void main(String[] args) {
 try {
 //加载驱动
 Class.forName("com.mysql.cj.jdbc.Driver");
 //获取连接
 String url = "jdbc:mysql://localhost:3306/test?
useUnicode=true&characterEncoding=UTF-8";
 String user = "root";
 String password = "root";
 Connection connection =
DriverManager.getConnection(url,user,password);
// String sql = "insert into student(name,score,birthday) values('李 四',78,'2019-01-01')";
// String sql = "update student set name = '李四'";
// String sql = "delete from student";
// Statement statement = connection.createStatement();
// int result = statement.executeUpdate(sql);
 String sql = "select * from student";
 Statement statement = connection.createStatement();
 ResultSet resultSet = statement.executeQuery(sql);
 while (resultSet.next()){
 Integer id = resultSet.getInt("id");
 String name = resultSet.getString(2);
 Double score = resultSet.getDouble(3);
 Date date = resultSet.getDate(4);
 System.out.println(id+"-"+name+"-"+score+"-"+date);
 }
 } catch (ClassNotFoundException e) {
 e.printStackTrace();
 } catch (SQLException e){
 e.printStackTrace();
 }
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走不尽的心路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值