idea启动项目的时候报Could not get JDBC Connection;Could not create connection to database server.
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not create connection to database server.)
这个问题说简单点就是没有连接上数据库。我的问题是我自己电脑本身安装的是8.0.x版本的mysql。但是项目配置的是5.1.x版本的。
不知道自己本地是什么版本数据库的可以打开navicat 输入
select version() from dual;
所以首先先修改到对应的数据库版本的jar包,然后更新下maven。
8.0.x版本换下driver
driver=com.mysql.cj.jdbc.Driver
当然你也可以先测试下idea是否能连接上本地的数据库。具体的测试代码如下:
package com.wsk.tool;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtlTool {
public static Connection getConnection(){
String driver="com.mysql.jdbc.Driver"; //获取mysql数据库的驱动类
String url="jdbc:mysql://localhost:3306/c2c"; //连接数据库(kucun是数据库名)
String name="root";//连接mysql的用户名
String pwd="123456";//连接mysql的密码
try{
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,name,pwd);//获取连接对象
return conn;
}catch(ClassNotFoundException e){
e.printStackTrace();
return null;
}catch(SQLException e){
e.printStackTrace();
return null;
}
}
public static void closeAll(Connection conn,PreparedStatement ps,ResultSet rs){
try{
if(rs!=null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{
if(ps!=null){
ps.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{
if(conn!=null){
conn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void main(String[] args) throws SQLException
{
Connection cc=JDBCUtlTool.getConnection();
if(!cc.isClosed())
System.out.println("Succeeded connecting to the Database!");
Statement statement = cc.createStatement();
String sql = "select * from sys_user";
ResultSet rs = statement.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString("id")+"");
}
}
}