Java에서 MySQL 연결 실패 문제 해결
문제: Java 프로그램에서 MySQL 데이터베이스에 연결하면 호출 시 NullPointerException 오류 발생 DriverManager.getConnection().
코드 예:
import java.sql.*; public class Squirrel { public static void main(String[] args) { String user; String password; Connection connection; Statement statement; try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306", user, password); statement = connection.createStatement(); // Other code } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } finally { try { if (statement != null) { statement.close(); } if (connection != null) { connection.close(); } } catch (SQLException e) { e.printStackTrace(); } } } }
오류 메시지:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. ... Caused by: java.lang.NullPointerException at com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:2997)
해결책:
NullPointerException 오류는 MySQL 드라이버 초기화에 문제가 있음을 나타냅니다. 가장 일반적인 원인은 오래된 버전의 MySQL JDBC 드라이버를 사용하는 것입니다.
MySQL JDBC 드라이버 업데이트:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.12</version> </dependency>
추가 수정(MySQL 8.0.1용) :
문제가 지속되면 다음에 도입된 변경 사항과 관련이 있을 수 있습니다. MySQL 8.0.1. 이 문제를 해결하려면:
jdbc:mysql://localhost:3306/?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
위 내용은 Java에서 MySQL 데이터베이스에 연결할 때 NullPointerException이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!