java连接mysql数据库 JDBC

环境: mysql8.0

1导入jar包  

jar下载链接:MySQL :: Download Connector/Jhttps://dev.mysql.com/downloads/connector/j/

 将下载的jar包放到bin下

 连接数据库并进行测试



import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class TEST01 {
        @Test
    public void test01() throws SQLException, ClassNotFoundException {
            //0.添加jar
            //1.注册驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.建立连接
            //使用jdbc连接mysql 地址是本机 端口号是3306的test库
            String url ="jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=false";
            //用户名
            String user="root";
            //密码
            String password="123456";
            //获取连接
            Connection connection = DriverManager.getConnection(url, user, password);
            //3.创建命令发送器
            Statement statement = connection.createStatement();
            //4.准备sql
            //insert into users values(null,"杜甫","123456");
            String sql ="insert into users values (null,'李白','test')";
            //5.执行sql 获取结果
            int i = statement.executeUpdate(sql);
            //6.输出结果
            System.out.println(i>0?"添加成功":"添加失败");
            //7.关闭资源
            statement.close();
            connection.close();


        }
}

报错解决:

(1)Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

无事务连接异常,无法创建连接。将MySQL驱动改为了最新的8.0版本的MySQL驱动。显示那个驱动类已经过时了,新的驱动类是"com.mysql.cj,jdbc.Driver”,而不是“com.mysql.jdbc.Driver"了,并且还说我没有配置时区,查了一下,原来从JDBC6.0开始驱动类使用了新的,并且url中必须要设置时区,否侧会报错。

将Class.forName("com.mysql.jdbc.Driver");改为Class.forName("com.mysql.cj.jdbc.Driver");

(2)java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.

没有配置时区,查了一下,原来从JDBC6.0开始驱动类使用了新的,并且url中必须要设置时区,否侧会报错。

将URL改为:String url ="jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding-utf8&serverTimezone=Asia/Shanghai;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_43555873

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值