个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~
Maven项目管理时,连接数据库报错
一、报错内容
在JDBC连接数据库时,代码没有错,运行却出现报错信息:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at org.junit.runners.ParentRunner3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at org.junit.runners.ParentRunner.access
二、分析与解决
我出现这个问题后,找到的原因是:Maven添加管理的mysql-connector-java依赖版本与下载使用的MySQL版本不一致导致的无法获取数据库连接对象。
- Maven添加的版本:5.1.37
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
…
- 实际下载使用的MySQL版本:8.0.31
解决方案
:
- 将IDEA项目中Maven的pom.xml配置文件中添加的依赖版本改为自己正在使用的MySQL版本即可:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version>
</dependency>
代码语言:javascript复制**改完后记得重启IDEA**
测试:
代码语言:javascript复制 @Test
public void testGetConnection(){
Connection connection = JDBCUtils.getConnection();
System.out.println("connection = " connection);
}
}
成功获取连接对象,问题解决: