估计运行web的时候,静态代码块中已经报错了,但是因为catch了异常,没有发现。
启动web的时候,看看日志或者控制台之类的,这里有没有报错
没有获取到数据库连接,导致数据库相关操作报错。
获取Connection 方法中,将异常打印出来。
可以换我提供这个数据源
**JDBCUtils **
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import javax.xml.crypto.Data;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
/**
* JDBC工具类 使用Durid连接池
*/
public class JDBCUtils {
private static DataSource ds ;
static {
try {
//1.加载配置文件
Properties pro = new Properties();
//使用ClassLoader加载配置文件,获取字节输入流
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
//2.初始化连接池对象
ds = DruidDataSourceFactory.createDataSource(pro);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取连接池对象
*/
public static DataSource getDataSource(){
return ds;
}
/**
* 获取连接Connection对象
*/
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
druid.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///day14
username=root
password=12345
initialSize=5
maxActive=10
maxWait=3000
1、source 在静态代码块初始化没有成功,原因应该是你的静态代码块里读取配置文件的方式,没有跟你配置文件的打包部署的路径一致,找不到文件,所以没有初始化成功
2、观察一下启动日志
你用日志记录下,看你在服务端是否连接上了数据库。
猜测你应该是环境变了,不能连接数据库的问题
数据库里有数据吗