junit hibernate 测试时出现GenericJDBCException:Cannot open connection

在使用JUnit进行Hibernate测试时遇到了GenericJDBCException,问题可能在于数据库的password和username不正确,或者Mysql数据库版本与驱动版本不匹配。解决方法包括确保数据库配置信息的准确性,并更新到兼容的数据库驱动版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题分析

1.首先一定要保证数据库的 password 和username是正确的

2.其次是mysql数据库的版本和数据库驱动的版本相匹配
MySql 数据库更新为8.0及以上后,对应的应用程序数据库链接驱动包也要更新为8.0版本。否则会报驱动异常。

以下是新旧版本的hibernate.cfg.xml文件对比

以下为旧版本

<session-factory>
	<property name="dialect">
		org.hibernate.dialect.MySQLDialect//**请对照新的hibernate.cfg.xml文件 此处有变动**
	</property>
	<property name="connection.url">
		jdbc:mysql://localhost:3306/itcastoa
	</property>
	<property name="connection.username">root</property>
	<property name="connection.password">root</property>
	<property name="connection.driver_class">
		com.mysql.jdbc.Driver//**请对照新的hibernate.cfg.xml文件 此处有变动**
	</property>
	<property name="myeclipse.connection.profile">mysql</property>
	<property name="show_sql">true</property>
	<property name="hbm2ddl.auto">update</property>
	
</session-factory>

以下为新版本

<session-factory>
	<property name="hibernate.dialect">
		org.hibernate.dialect.MySQL5Dialect//此时我用MySQL数据库版本为8.0
	</property>
	<property name="connection.url">
		jdbc:mysql://127.0.0.1:3306/itcastoa?useSSL=false&amp;serverTimezone=UTC
	</property>
	<property name="connection.username">root</property>
	<property name="connection.password">root</property>
	<property name="connection.driver_class">
		com.mysql.cj.jdbc.Driver
	</property>
	<property name="eclipse.connection.profile">mysql</property>
	<property name="show_sql">true</property>
	<property name="hbm2ddl.auto">update</property>

</session-factory>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值