1. 数据库版本与驱动对应问题

参考官方文档:https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html

具体详情还需查看官方文档。

Connector/J version JDBC version MySQL Server version JRE Supported JDK Required for Compilation Status
8.0 4.2 5.6, 5.7, 8.0 1.8.x 1.8.x General availability. Recommended version.
5.1 3.0, 4.0, 4.1, 4.2 5.6*, 5.7*, 8.0* 1.5.x, 1.6.x, 1.7.x, 1.8.x* 1.5.x and 1.8.x General availability

注意:如果数据库版本与驱动不一致则会报java.sql.SQLNonTransientConnectionException异常。

另附大佬博文:https://blog.csdn.net/jungle_rao/article/details/81274720

2. 高版本(MySQL 8.0 以上版本)驱动加载写法区别与一些必须设置的参数

  • com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver
  • MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭。
  • 最后还需要设置 CST(时区)。

大佬示例:

Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&serverTimezone=UTC","root","password");

补充:在 JDBC4.0 之前,连接数据库的时候,通常会用 Class.forName(“com.mysql.jdbc.Driver”)

这句先加载数据库相关的驱动,然后再进行获取连接等的操作。而 JDBC4.0 之后不需要 Class.forName

来加载驱动,直接获取连接即可,这里使用了 Java 的SPI扩展机制来实现。

附:https://www.jianshu.com/p/46b42f7f593c

另附一篇关于时区的博文:https://www.jianshu.com/p/735e8444cdda

大神教程:https://www.runoob.com/java/java-mysql-connect.html

学习JDBC遇到的一些问题的更多相关文章

  1. 我们在学习JDBC的时候会过度到J2EE。

    我们在学习JDBC的时候会过度到J2EE.   在Swing的组件中,基本上都是在AWT组件的名称前面加“J”. 一般情况下,除了Choise等组件: import javax.swing.*;好要加 ...

  2. springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务

    springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...

  3. 学习jdbc学习笔记

    1.jdbc: java database connection      jdbc规范:是sun公司制定的一套连接操作数据库的接口.      我们必须要用具体的驱动类去连接操作数据库.    每个 ...

  4. [Java Web学习]JDBC事务处理

    1. Spring中加入数据库的bean <bean id="dataSource" class="org.apache.commons.dbcp.BasicDat ...

  5. javaweb学习——JDBC(五)

    管理结果集 JDBC使用ResultSet来封装查询到的结果集,然后移动记录指针来取出结果集的内容,除此之外,JDBC还允许通过ResultSet来更新记录,并提供了ResultSetMetaData ...

  6. 学习JDBC这一篇就够了

    配套资料,免费下载 链接: https://pan.baidu.com/s/1CKiwCbQV4FGg_4YMQoebkg 提取码: 7cn3 复制这段内容后打开百度网盘手机App,操作更方便哦 第一 ...

  7. JavaWeb学习总结-09 JDBC 学习和使用

    一 JDBC相关概念介绍 1.1 数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡 ...

  8. javaweb学习总结(三十二)——JDBC学习入门

    一.JDBC相关概念介绍 1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡 ...

  9. JDBC第二次学习

    脑子太笨,必须得记录下来一些文字,方便回来查询. 这是我的第二次学习JDBC的笔记,看的是传智播客——李勇老师的JDBC系列,已看到第23集. 分析在实际项目中该如何应用JDBC 一个简单用户相关的数 ...

随机推荐

  1. 【jvm】05-为什么你写的代码有时候和预期不一致

    [jvm]05-为什么你写的代码有时候和预期不一致 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请 ...

  2. 【优雅代码】02-java传个方法你会吗,不是Method对象

    [优雅代码]02-java传个方法你会吗,不是Method对象 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮 ...

  3. JDK、JVM和JRE三者间的关系,及JDK安装路径下的文件夹说明

    JDK的全称是Java SE Development Kit, 即Java标准开发包,是Sun公司提供的一套用于开发Java应用程序的开发包, 它提供了编译.运行Java查询所需的各种工具和资源,包括 ...

  4. Docker基本命令入门

    本文介绍Docker基本的操作命令,包括对镜像容器的获取,查看,保存,启停等操作. 1. 检查docker的版本: docker version docker -v 2. 搜索名字叫做tutorial ...

  5. 初识python 之 爬虫:使用正则表达式爬取“糗事百科 - 文字版”网页数据

    初识python 之 爬虫:使用正则表达式爬取"古诗文"网页数据 的兄弟篇. 详细代码如下: #!/user/bin env python # author:Simple-Sir ...

  6. [Flask] 安装virtualenv时候出现的问题

    1.HTTPError: 404 Client Error: Not Found for url: ...的错误 ubuntu@VM-0-6-ubuntu:~/myprojects$ virtuale ...

  7. Vue - 问题集、知识点

    通信:父组件 -> 子组件 父组件 <!--这里需要用v-bind来绑定data中的fontsize,否则传过去的只是一个字符串"fontsize"--> < ...

  8. VM和CentOS7安装教程

    如果图片损坏,点击链接:https://www.toutiao.com/i6491076101664670222/ 安装软件 VMware_workstation_full_12.5.2 CentOS ...

  9. 【原创】阿里三面:搞透Kafka的存储架构,看这篇就够了

    阅读本文大约需要30分钟.这篇文章干货很多,希望你可以耐心读完. 你好, 我是华仔,在这个 1024 程序员特殊的节日里,又和大家见面了. 从这篇文章开始,我将对 Kafka 专项知识进行深度剖析, ...

  10. Solon 开发,七、自定义注解开发汇总

    Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...