JDBC 连接数据库报错:java.lang.ExceptionInInitializerError

数据库连接报错,仔细检查代码没有发现问题

 

代码部分

配置文件代码:dbconfig.properties

driverClassName=com.sql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
mysqlUsername=root
mysqlPassword=1234

 工具类:JdbcUtils.java

package cn.java.demo1;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class JdbcUtils {
	private static Properties prop = null;
	static {
		//加载配置文件
		prop = new Properties();
		InputStream in = JdbcUtils.class.getResourceAsStream("dbconfig.properties");
		try {
			prop.load(in);
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
		//加载驱动类
		
				try {
					
					Class.forName(prop.getProperty("driverClassName").trim());
				} catch (ClassNotFoundException e) {
					throw new RuntimeException(e);
				}
	}
	public static Connection getConnection() throws IOException, Exception,SQLException {
		//得到Connection
		return DriverManager.getConnection(prop.getProperty("url").trim(),prop.getProperty("mysqlUsername").trim(),prop.getProperty("mysqlPassword").trim());
	}
}

 测试类:Demo1.java

package cn.java.demo1;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;

public class Demo1 {
    public static void main(String[] args) throws IOException, SQLException, Exception {
		Connection conn = JdbcUtils.getConnection();
		System.out.println(conn);
	}
}

 请教一下各位大佬

 

这行代码读取配置文件失败。注意路径。

InputStream in = JdbcUtils.class.getResourceAsStream("dbconfig.properties");

"dbconfig.properties"改为"classpath:dbconfig.properties"试试

InputStream in = JdbcUtils.class.getResourceAsStream("dbconfig.properties");这样写,必须clas和properties文件在同一个目录下,改为

InputStream in = JdbcUtils.class.getResourceAsStream("/dbconfig.properties");从根目录下找。

把url改成url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC,较高版本的mysql驱动要加上时区

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632