我正在尝试使用JAVA中的数据库。因此,我下载了MySQL,为我的根用户设置了密码,并创建了一个模式JH。数据库运行在本地主机端口3306上。
现在我想使用hibernate来持久化和访问数据。我的hibernate.cfg.xml看起来是这样的:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.current_session_context_class">
thread
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/JH
</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.username">
root
</property>
<property name="conenction.password">
Password
</property>
<property name="dialect">
org.hibernate.dialect.MySQL5Dialect
</property>
<mapping resource="Movie.hbm.xml" />
</session-factory>
</hibernate-configuration>我检查了数据库JH是否运行在带有mysqlshow的端口3306上。
现在,当我尝试使用以下方法建立到数据库的连接时:
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();beginTransaction方法引发GenericJDBCException:无法打开连接
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (usi
ng password: NO)让我有点困惑的是,消息中写着:(使用密码:否),因为我在安装MySQL之后为root设置了密码,并在配置文件中指定了密码。
我已经尝试解决这个问题好几个小时了。Hibernate为4.2.3Final,mysql-连接器-java为8.0.20。
发布于 2020-05-04 22:58:37
在您的conenction.password中将"connection.password“改为”connection.password“
https://stackoverflow.com/questions/61602925
复制相似问题