赞
踩
- com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
- at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
- at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
- at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
- at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
- at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
- at com.mysql.jdbc.Util.getInstance(Util.java:360)
- at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
- at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
- at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
- at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
- at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2311)
- at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064)
- at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790)
- at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
- at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
- at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
- at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
- at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
- at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
- at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395)
- at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)
- at java.sql.DriverManager.getConnection(DriverManager.java:664)
- at java.sql.DriverManager.getConnection(DriverManager.java:247)
- at com.test.MySQLDemo.main(MySQLDemo.java:29)

- package com.test;
-
- import java.sql.*;
-
- public class MySQLDemo {
-
- // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
- // static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
- // static final String DB_URL = "jdbc:mysql://localhost:3306/zhanghz";
-
- // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
- static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
- static final String DB_URL = "jdbc:mysql://localhost:3306/zhanghz?useSSL=false&serverTimezone=UTC";
-
- // 数据库的用户名与密码,需要根据的设置
- static final String USER = "root";
- static final String PASS = "123456";
-
- public static void main(String[] args) {
- Connection conn = null;
- Statement stmt = null;
- // 注册 JDBC 启动
- try {
- Class.forName(JDBC_DRIVER);
-
- // 打开链接
- System.out.println("连接数据库...");
- conn = DriverManager.getConnection(DB_URL,USER,PASS);
-
- // 执行查询
- System.out.println("实例化Statement对象...");
- stmt = conn.createStatement();
- String sql;
- sql = "SELECT id, name, url FROM websites";
- ResultSet rs = stmt.executeQuery(sql);
-
- // 展开结果集数据库
- while(rs.next()){
- // 通过字段检索
- int id = rs.getInt("id");
- String name = rs.getString("name");
- String url = rs.getString("url");
-
- //输出数据
- System.out.print("ID:" + id);
- System.out.print(",站点名称:" + name);
- System.out.print(",站点URL:" + url);
- System.out.print("\n");
- }
- // 完成后关闭
- rs.close();
- stmt.close();
- conn.close();
- } catch (SQLException e) {
- // 处理 JDBC 错误
- e.printStackTrace();
- } catch (Exception e) {
- // 处理 Class.forName 错误
- e.printStackTrace();
- } finally {
- // 关闭资源
- try {
- if(stmt != null) conn.close();
- } catch (SQLException e2) {
- // 什么都不做
- }
- try {
- if(conn != null) conn.close();
- } catch (SQLException se) {
- se.printStackTrace();
- }
- }
- System.out.println("Goodbye!");
- }
-
- }

- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>com.zhanghz</groupId>
- <artifactId>connectdatabase</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <dependencies>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.34</version>
- </dependency>
- </dependencies>
- </project>
因为本地的MySQL数据库是8.0以上的版本,而Java引用的驱动jar包版本为5.1.34,导致出现上面的报错:Could not create connection to database server.
把Java引用的驱动器jar包版本改为8.0以上的就不会再出现上面的问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。