JDBCJDBC连接mySQL数据库常见错误

Posted a box of Sweets

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBCJDBC连接mySQL数据库常见错误相关的知识,希望对你有一定的参考价值。

目录

1、正确的代码:

2、正确输出:

3、初学者常犯错误:

(1)第一种出错:驱动类写错,应该是com.mysql.jdbc.Driver

(2)第二种出错:数据库名写错,报:Unknown database 'employeedbs'错误

(3)第三种出错:连接用户名或密码错误:java.sql.SQLException: Access denied for user 'roots'@'localhost' (using password: YES)

(4)第四种出错:连接数据库报: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.

原因:MySQL在高版本需要指明是否进行SSL连接。

解决方案如下:在mysql连接字符串url中加入useSSL=true或者useSSL=false

​编辑


正确的代码:

package java_project_jdbc;

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

public class JDBC_demo 
	static 
		// 加载驱动
		try 
			Class.forName("com.mysql.jdbc.Driver");
		 catch (ClassNotFoundException e) 
			e.printStackTrace();
		
	

	// 连接数据库
	public static Connection getConn() 
		Connection conn = null;
		try 
			conn = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/db_java?useUnicode=true&characterEncoding=utf8", "root", "12345678");
		 catch (SQLException e) 
			// TODO Auto-generated catch block
			e.printStackTrace();
		
		return conn;
	

	public static void main(String[] args) 
		System.out.println("连接+" + JDBC_demo.getConn());
		;

	


正确输出:

初学者常犯错误:

第一种出错:驱动类写错,应该是com.mysql.jdbc.Driver

第二种出错:数据库名写错,报:Unknown database 'employeedbs'错误

第三种出错:连接用户名或密码错误:java.sql.SQLException: Access denied for user 'roots'@'localhost' (using password: YES)

第四种出错:连接数据库报: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.

原因:MySQL在高版本需要指明是否进行SSL连接。

解决方案如下:在mysql连接字符串url中加入useSSL=true或者useSSL=false


以上是关于JDBCJDBC连接mySQL数据库常见错误的主要内容,如果未能解决你的问题,请参考以下文章

JDBCJDBC连接mySQL数据库常见错误

JDBCJDBC连接数据库

python与mysql数据库连接中常见错误

JDBC连接MySQL常见错误集锦

连接MySQL数据常见问题

JDBC概述和连接MySQL数据库