1.导入驱动jar包

JDBC本质上是sun公司提供的一套能操作所有关系型数据库的接口,要想操作不同的数据库(如:Oracle、DB2,MySQL等等),就必须由不同的数据库厂商来定义实现类来实现接口,而这里的实现类就是驱动jar包。

这里给大家提供了两个驱动jar包,一个是MySQL5.1的jar包,另一个时MySQL8.0的jar包,看自己下载的MySQL是什么版本。

MySQL5.1版本对应的驱动jar包:链接:链接:https://pan.baidu.com/s/16VdB5mTzTMRdJQok1or1Gw
提取码:00wq

MySQL8.0版本对应的驱动jar包:链接:https://pan.baidu.com/s/1jF2wFn5gfIER_XN0uFDFSQ
提取码:25n5

2.在项目目录下新建一个文件夹,命名为lib

net mysql 驱动 mysql驱动包有什么用_jdbc


net mysql 驱动 mysql驱动包有什么用_sql_02

建议命名为lib

3.将下载好的驱动jar包解压,会看到以下驱动jar包,将其复制(以mysql8.0的jar包为例)

net mysql 驱动 mysql驱动包有什么用_mysql_03

4.粘贴到刚刚建好的lib目录下

net mysql 驱动 mysql驱动包有什么用_jdbc_04

注意要加到libraries中,jar包右键–>add as library,这样jar包就加载进来了

net mysql 驱动 mysql驱动包有什么用_net mysql 驱动_05


net mysql 驱动 mysql驱动包有什么用_jdbc_06

点ok

接下来编写一个测试类来测试一下是否连接得上数据库

重点:
加载驱动时注意:
1)mysql8.0的需要加cj
例如:
Class.forName(“com.mysql.cj.jdbc.Driver”);
2)mysql5.1的不需要:
例如:
Class.forName(“com.mysql.jdbc.Driver”);

获取数据库连接对象时注意:
1)MySQL8.0需要加时区:
例如
Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/数据库名?serverTimezone=UTC”, “root”, “root”);

2)MySQL5.1之后不用
DriverManager.getConnection(“jdbc:mysql://localhost:3306/数据库名”, “root”, “root”);

import java.sql.*;

public class JDBCDemo {
    public static void main(String[] args) {
        //1.注册驱动
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            
            //获取连接数据库对象
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?serverTimezone=UTC", "root", "root");
            
            //定义sql语句,这里为修改数据
            
            String sql="update 表名 set 列名=xx' where 条件字段";
            //执行sql对象
            PreparedStatement stat = connection.prepareStatement(sql);
            
            //这里的count是返回执行成功的语句数量,也可以理解为影响行数
            int count = stat.executeUpdate();
            System.out.println(count);
            //因为我只操作一个数据,影响行数为1,所以返回结果是1

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        //在finally语句块中释放资源
            finally {
            if (stat!=null){
                try {
                    stat.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (connection!=null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

如果出现以下异常,说明MySQL版本和驱动jar包不对应:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

总结:

1) 导入驱动jar包:mysql-connector-java-5.1.37-bin.jar或者mysql-connector-java-8.0.18.jar
1.1复制mysql-connector-java-5.1.37-bin.jar或者mysql-connector-java-8.0.18.jar
到项目的(libs目录下)可不建目录
1.2右键–>add as library
2) 注册驱动:Class.forName(“com.mysql.jdbc.Driver”);(mysql8.0需要在"mysql."后面加cj)
3) 获取数据库对象 Connection(MySQL8.0需要加时区:?serverTimezone=UTC)
4) 定义sql
5) 获取执行sql语句的对象 Statement
6) 执行sql,接受返回结果
7) 处理结果
8) 释放资源:close()