使用JDBC连接MySQL数据库(详解)

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

在这里插入图片描述
在这里插入图片描述

建议命名为lib

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

点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()

希望此文章对您有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值