我正在尝试连接到我在

Java程序中使用

MySQL创建的数据库,但它总是失败.

为了举例,这是我的代码:

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();

}

}

}

}

我能够从IntelliJ中连接到数据库,并添加了添加到项目中的mysql-connector-java-5.1.40.jar,但每次运行程序时,DriverManager.getConnection()都会抛出:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

at com.mysql.jdbc.Util.getInstance(Util.java:408)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)

at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2330)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083)

at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:806)

at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:678)

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229)

at Squirrel.main(Squirrel.java:12)

Caused by: java.lang.NullPointerException

at com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:2997)

at com.mysql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.java:1934)

at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1863)

at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)

at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253)

at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)

... 13 more

java mysql nullpointerexception_无法从Java连接到MySQL:MySQL驱动程序连接逻辑中的NullPointerException...相关推荐

  1. java不能连接mysql,无法使用Docker将Java程序连接到MySQL

    我正在学习docker并试图将使用Tomcat的Java Web应用程序放到容器中.我遵循了一些基本的教程,但我找不到适合我的解决方案.如果我运行我的数据库和Java容器我得到错误: SEVERE: ...

  2. Java框架抽离的一些经历1:MYSQL数据库安装和 Oracle转换成Mysql数据库

    本篇记录独自抽离部署一个java项目,方便以后查阅参考. 开发语言:JSP 部署项目环境:JDK1.8 + Mysql8.023 开发工具:IDEA 代码同步工具:SVN 一.数据库 之前数据库使用的 ...

  3. Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境

    Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境 对于初学者来说,如果没有接触过java web开发的话,搭建开发环境将是一个门槛.以前一直 ...

  4. java 原生sql批量插入,Java对象集合转MySQL批量插入语句

    Mybatis的批量插入确实很好用,但是当数据量特别大的时候可能一次批量插入2000条数据就死翘翘了.怎么办呢?当然是原生sql是最快的啦,10000条数据秒入无压力.下面是将对象集合拼接成批量插入M ...

  5. mysql tomocat vs2005_C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装

    要求: JDK.Mysql.Tomcat三者制作成一个安装包, 不能单独安装,安装过程不显示三者的界面, 安装完成要配置好JDK环境.Mysql服务.Tomcat 服务 目的: 解决客户在安装软件的复 ...

  6. c mysql封装 jdbc_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现

    最近看老罗的视频,跟着完成了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...

  7. MySQL 数据类型讲解 和Java中所对应的数据类型讲解

    MySQL 数据类型讲解 和Java中所对应的数据类型讲解 Mysql数据类型分类 在Mysql中常用数据类型一共有四种字符串数据类型.日期/时间数据类型.数值数据类型以及二进制数据类型. 一.字符串 ...

  8. java备还原mysql_用java来备份还原mysql数据库

    一,先说说基础操作吧,这部分和java无关,只讲mysql的操作,也只讲在window环境下操作,linux下大体相同,自己百度吧. 1.如果用mysqldump,你需要安装mysql服务器,如果是l ...

  9. lajp mysql安装_Php调用java说明

    Php调用java说明 (lajp实现) LAJP名称含义 LAJP名称来源于著名的LAMP(Linux,Apache,Mysql,Php),LAMP是轻量级的开发Web程序的环境,在Internet ...

最新文章

  1. Yolo:实时目标检测实战(上)
  2. docker第一章--介绍和安装
  3. mysql中出现 xC4 xDD_mysql数据库调优总结(二)
  4. 神经网络基础:七种网络单元,四种层连接方式
  5. 《长安十二时辰》中的跨域行人重识别问题
  6. python学习笔记8-列表、集合、字典推导式
  7. 安装Whl文件时提示 ....whl is not a valid wheel filename
  8. 201703-2-学生排队
  9. Android 饼状图(MPAndroidChart框架)
  10. 基于Ntrip的实时多线程RTCM数据流接收及解码
  11. 【转载】士兵突击 经典语录
  12. 谈谈我对《ThoughtWorks文集》中多语言开发部分的看法
  13. lingo入门教程之二 --- 集合运用
  14. C语言中char字符为0时的情况,c语言中char的用法
  15. 关于Git及GitLab的简单易懂的使用方法(将本地仓库的项目提交到master分支或者自定义的分支上)
  16. 用JS实现猜数字游戏
  17. 心脏滴血(CVE-2014-0160)
  18. 人工智能领域顶会及期刊
  19. 结构体的定义、初始化
  20. Maven账户设置非明文密码

热门文章

  1. MCMC 和 Gibbs采样
  2. java轮询文件停止线程,java 运行多线程轮询时,外部停止轮询
  3. Java语言学习概述
  4. dnf用虚拟机会被制裁吗_DNF: 神豪奶妈扬言, 战斗力没有超过他的, 都不配被加buff!...
  5. python声明编码格式_使用python将doc文件转为utf8编码格式的txt
  6. Mongodb 分片与副本集
  7. 乐观锁的两种实现方式
  8. 一、Objective-C之Runtime的概念
  9. 并发编程---线程queue---进程池线程池---异部调用(回调机制)
  10. python多分支结构实例_JS优化多分支结构(经典)