gpt4 book ai didi

mysql - 如何在 OpenShift 上使用 Hibernate 连接到 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 02:22:49 25 4
gpt4 key购买 nike

我刚刚在 OpenShift 上创建了一个数据库,并且正在尝试使用 Hibernate。我的配置文件如下:

<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/mytomcatapp</property>

<property name="hibernate.connection.username">username</property>
<property name="hibernate.connection.password">pwd</property>

但它不起作用。当我打印我的环境变量时,结果是:

OPENSHIFT_MYSQL_DB_HOST:127.11.10.2 OPENSHIFT_MYSQL_DB_PORT: 3306 OPENSHIFT_MYSQL_DB_USERNAME: 用户名 OPENSHIFT_MYSQL_DB_PASSWORD: 密码 OPENSHIFT_MYSQL_DB_URL: mysql://用户名:pwd@127.11.10.2:3306/

有什么问题吗?

最佳答案

这是错误的:应用程序将配置文件用作文本,而不是代码。

要解决这个问题,您可以使用 Spring 的动态 Hibernate 配置。

这是一个如何做到这一点的例子:Script Security + Hibernate Anotation Example .

在使用 openshift 的情况下,您需要对文件 AppConfig.java 进行一些更改:

@Bean(name = "dataSource")
public BasicDataSource dataSource() {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
String host = System.getenv("OPENSHIFT_MYSQL_DB_HOST");
String port = System.getenv("OPENSHIFT_MYSQL_DB_PORT");
String name = "mytomcatapp";
String url = "jdbc:mysql://" + host + ":" + port + "/" + name;
ds.setUrl(url);
ds.setUsername("username");
ds.setPassword("pwd");
return ds;
}

关于mysql - 如何在 OpenShift 上使用 Hibernate 连接到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28419478/

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