1.什么是JDBC
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。
2.JDBC工作原理
Java提供访问数据库规范称为JDBC,而生产厂商提供规范的实现类称为驱动。
JDBC是接口,驱动是接口的实现类,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。
其关系如下图所示:

3.JDBC开发步骤
1、注册驱动. 告诉JVM使用的是哪一个数据库的驱动
2、获得连接对象 使用JDBC中的类,完成对MySQL数据库的连接,获得数据库连接对象
3、创建语句对象 通过连接对象获取对SQL语句的执行对象
4、执行sql语句 使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果
5、处理结果
6、释放资源. 调用一堆close()方法.通常在finally代码块中执行。
4.第一个JDBC小例子
以idea开发工具为例子,演示实现第一个JDBC小例子。
1)下载mysql jdbc驱动。
下载页面如下:

2)把下载下来的mysql-connector-java-5.1.6.zip文档解压缩后,把根目录下的mysql-connector-java-5.1.6-bin.jar,复制到项目的lib目录下。

选中mysql-connector-java-5.1.6-bin.jar,在弹出菜单中选则'Add as Library..'.

把该jar作为项目的类库。选中Project Library。点击OK。

3)编写测试类如下。
public class MySQLJdbcDemo {
public static void main(String[] args) {
Connection conn = null;
Statement sta = null;
ResultSet rs = null ;
try {
//1.注册驱动(静态方法)(包名+类名)
//mysql5.1.6的旧驱动引用
//Class.forName("com.mysql.jdbc.Driver");
//mysql8.0.21的最新驱动引用
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接对象
String url = "jdbc:mysql://localhost:3306/myschool?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true";
String user = "root";
String password = "root";
conn = DriverManager.getConnection(url, user, password);
//3.获取语句执行平台:
sta = conn.createStatement();
//4.执行SQL语句:查询语句返回的是结果集。
String sql = "select * from students";
rs = sta.executeQuery(sql);
//5.遍历结果集
while(rs.next()){
System.out.println(rs.getInt("sid") + "," + rs.getString("sname") + "," + rs.getString("gender"));
}
}catch(Exception ex){
ex.printStackTrace();
}
finally{
//释放资源
try{
if(rs!=null) {
rs.close();
rs = null;
}
if(sta!=null) {
sta.close();
sta = null;
}
if(conn!=null) {
conn.close();
conn = null;
}
}catch(Exception ex){
ex.printStackTrace();
}
}
}
}
运行结果:

5.JDBC四大核心类
通过第一个例子,我们也了解到。JDBC用到的四大核心类是:
| 类名 | 说明 |
|---|---|
| DriverManager | JDBC驱动管理器 |
| Connection | 数据库连接对象 |
| Statement | 执行SQL语句对象 |
| ResultSet | 数据集对象 |