使用jdbc连接数据库时的一些错误

如果使用了mysql8.0以上的版本

异常信息:

你如果用的包是以前的包的话,会提示使用caching_sha2_password

或者是

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已经推出了新的mysql-connector-java包,引入后,驱动使用com.mysql.cj.jdbc.driver

原本的驱动器是Class.forName("com.mysql.jdbc.Driver");

我们要将驱动改成

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

static final String DB_URL = "jdbc:mysql://localhost:3306//*这里是数据库名*/?useSSL=false&serverTimezone=UTC";

在改完之后要确定你的包是最新版本的

异常信息

CST 2018 WARN: Establishing SSL connection without server‘s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn‘t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false‘. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

解决方法:

在url中添加&useSSL=false或者添加&useSSL=true

这是由于我们使用了最新的jar包导致的

异常信息

Public Key Retrieval is not allowed

解决方法:

连接数据库的url中,加上allowPublicKeyRetrieval=true参数,

连接成功一次后,去掉allowPublicKeyRetrieval=true参数,还是能够正常连接,难道数据库连接过一次之后会自动缓存相同连接的配置信息吗,不是很懂

原文地址:https://www.cnblogs.com/hnuzb/p/9915274.html

时间: 2024-11-07 06:18:38

使用jdbc连接数据库时的一些错误的相关文章

用springboot连接数据库时出现如下错误java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)

将yml配置文件中的参数改一下 用惯了IDEA的快捷提示,没想到居然错了..... 用springboot连接数据库时出现如下错误java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO) 原文地址:https://www.cnblogs.com/qiannianguyao/p/11960884.html

关于JDBC连接数据库时出现的Public Key Retrieval is not allowed错误

问题描述 最近在学习MyBatis框架,参考官方的文档通过配置文件的方式已经实现了通过Configuration配置文件和mapper映射文件访问mysql8数据库,于是想试试不使用XML文件去构建SqlSessionFactory,结合配置文件和官方文档,依次构建了DataSource,JdbcTransactionFactory,Configuration等等,并添加Mapper,在Mapper接口中通过注解配置了SQL语句,一步步的构建完成,前面都顺利执行没有抛出异常,当通过SqlSess

java连接数据库时出现如下错误:

java.lang.ClassNotFoundException: com.mysql.jdbc.driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284) at java.lang.Class.f

解决PL/SQL Developer连接数据库时出现 “ORA-12541:TNS:无监听程序”错误

在用PL/SQL Developer连接数据库时出现“ORA-12541:TNS:无监听程序”错误. 1.检查listener.log日志发现下面错误:TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月 -2008 10:25:26 Copyright (c) 1991, 2005, Oracle. All rights reserved. 系统参数文件为D:/oracle/product/10.2.0/db_

使用springboot最新版本mysql-Connector连接数据库时提示Loading class `com.mysql.jdbc.Driver'. This is deprecated.

在连接数据库时,使用了最新版本的mysql-Connector,即6.0以上版本 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

java中的jdbc连接数据库方法及应用

jdbc连接数据库的口诀:猪脸特直观 import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Demo03 { public static void main(String[] args) thr

使用javabean连接数据库时遇到的问题

1.whitespace问题.是便签了每空格如: 就会出现下面的问题.contentType前每空格.空格后就解决了 2. 这是部署问题,关闭,重新部署 追问 怎么部署? 回答 1.选中项目 F5(eclipe)2.project--clean(菜单上)3.servers里面-clean(这等于把工程从新copy到deploy目录) 3.sql语句报错,原来是上面的代码变量书写错误,与下面不一致 我发现,这是因为java文件没放在classes文件下. 4.我的实验不成功,一直连不上数据库的的原

JDBC连接mysql,TOMCAT错误: Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP

解决思路依据如下URL: http://blog.csdn.net/stail111/article/details/5640109 问题:MySQL数据库,如果数据库中日期字段为空为值为'0000-00-00 00:00:00"时,查询的时候回报:Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP 解决办法: 更改连接数据库方式 在连接:jdbc:mysql://127.0.0.1:3306/test 后

【转】Java开发中JDBC连接数据库代码和步骤总结

(转自:http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html) JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String className)实现. 例如: try{ //加载MySql的驱动类 Class.forName("co