什么是JDBC
在了解JDBC之前 我们先了解一下什么是驱动:
现在电脑的硬件有显卡、键盘、鼠标、在使用他们的时候,是什么让电脑里的界面显示到屏幕上的?又是什么让你的键盘鼠标能在打游戏的时候疯狂输出呢?
是驱动,每个硬件都有对应的软件驱动,通过驱动,我们能更好的发挥各个硬件的性能,而这些驱动就由各个硬件厂商发布。
JDBC也是如此,JDBC(java database connectivity)驱动程序是对JDBC规范完整的实现,它使得Java程序与数据库系统之间建立了一条通信的渠道。使得我们可以在Java程序中使用该驱动提供的API来完成我们对数据库的操作。
安装
去mysql的官网,找到mysql提供的java驱动,点击这里下载,这里我们选择5.1.47版本下载。
环境
- 这里我们使用 JDK1.8 作为演示环境
- IDEA作为集成开发工具
使用
新建空项目
-
首先,我们新建一个空的项目,新建lib目录,将我们下载好的
mysql-connector-java-5.1.47.jar拷至该目录。 -
再将lib目录添加到项目类库

- 新建测试类Demo.java
目录结构如下:

编写测试用例
package cc.leeleo.jdbc;
import java.sql.*;
public class Demo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.配置数据源
String url = "jdbc:mysql://127.0.0.1:3306/tool?useUnicode=true&characterEncoding=utf8&useSSL=false";
String user = "root";
String pwd = "123123";
//3.链接数据库
Connection connection = DriverManager.getConnection(url, user, pwd);
//设置为false,即为关闭数据库事务自动提交,同时开始事务
//connection.setAutoCommit(false);
//4.执行sql
//获取sql执行对象,建议使用connection.prepareStatement(),防止sql注入
Statement statement = connection.createStatement();
String sql = "select * from goods";
ResultSet resultSet = statement.executeQuery(sql);
//5.处理结果集
while (resultSet.next()){
System.out.println(resultSet.getObject("id"));
System.out.println(resultSet.getObject("name"));
System.out.println(resultSet.getObject("create_time"));
}
//如果是增删改操作则可以用事务控制,来手动提交
//connection.commit();
//6.关闭链接
resultSet.close();
statement.close();
connection.close();
}
}
输出:
1474223194333134850
果冻胶
2021-12-24 11:39:33.0
1484137419895095297
美甲片
2022-01-20 20:15:09.0
1484151048820375553
眼线笔
2022-01-20 21:09:18.0
进程已结束,退出代码为 0