什么是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目录添加到项目类库

image-1660309692338

  • 新建测试类Demo.java

目录结构如下:
image-1660309706532

编写测试用例

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