gpt4 book ai didi

mysql - Tomcat、Hibernate、ElasticBeanStalk、RDS、MySql 数据库连接

转载 作者:行者123 更新时间:2023-11-29 13:17:05 25 4
gpt4 key购买 nike

我正在将应用程序迁移到 AWS ElasticBeanStalk,在花费了无数时间尝试让数据库连接正常工作后,我却屡次失败。

第一次尝试

我目前正在使用现有的 RDS 数据库,我想继续使用该数据库。我尝试使用普通的旧 jdbc 连接来连接它,如下所示。

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="hibernate.connection.url">jdbc:mysql://masdfwe.czwweehqejmbr.us-east-1.rds.amazonaws.com:3306/project</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">xxxxx</property>

但是在日志中发现如下异常。

引起:java.sql.SQLException:找不到适用于 jdbc 的驱动程序:mysql://masdfwe.czwweehqejmbr.us-east-1.rds.amazonaws.com:3306/project 在 java.sql.DriverManager.getConnection(DriverManager.java:596) 在 java.sql.DriverManager.getConnection(DriverManager.java:187) 在org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:192) 在 org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:278) 在org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:297) ... 125 更多

mysql 驱动程序在 lib 目录中是 def,所以我不确定为什么会看到这个异常。

我需要创建 JNDI 连接吗?如果是这样,我该如何更改 ElasticBeanStalk 上 tomcat7 中的配置文件?我应该 ssh 进入 ec2 实例,还是进入 ElasticBeanStalk 实例?

我会在我的 hibernate.cfg.xml 文件中使用类似的东西吗?

<property name="hibernate.connection.datasource">java:comp/env/jdbc/project</property>

web.xml

 <resource-ref>
<description>MyDatabase Description</description>
<res-ref-name>jdbc/project</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

我只是不确定我应该在哪里配置或配置什么。任何帮助将不胜感激,我很困惑。

提前致谢。

最佳答案

您不必过多关注 JNDI 即可使 RDS 连接正常工作。从你的描述来看,我也有点困惑,什么不适合你。尽管我使用 Spring 访问数据库,但细节由 Spring 的数据源处理,但我已经毫无问题地设置了 JDBC/RDS 连接。

只是一个想法:你确实有一个

Class.forName ("com.mysql.jdbc.Driver").newInstance ();

在代码中加载 JDBC 驱动程序?

祝你好运!

关于mysql - Tomcat、Hibernate、ElasticBeanStalk、RDS、MySql 数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21327234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com