【发布时间】:2016-01-28 05:57:37
【问题描述】:
我对 spring/hibernate 很陌生。我看到persistence.xml文件中的数据库连接设置是:
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/tbm" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="root" />
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
我想知道是否可以从 System-properties 获取 user 和 password 值。
上下文: 我有一个 Java Webapp,它被打包为 .war 文件。在 war 文件中,我在任何地方都看不到所说的 xml,但我希望 war 也适用于具有不同 mysql 凭据的系统,只需修改 war 中的一些配置文件。
【问题讨论】:
-
数据源(在服务器中配置)是一种比手动配置更灵活的数据库连接管理方式。我也建议您阅读。
-
@ArunM:感谢您的建议,但这对我不起作用。它仍然显示无法连接到用户'',即没有获取系统属性。
-
@Gimby:谢谢,这是一个很好的解决方法,我们已经考虑过了,但是由于 MySQL 服务器版本不同,我们遇到了一些关于密码更改的问题。如果这不起作用,我们将在那里限制 MySQL 版本。
-
@UjjwalKumar 数据源绝不是一种解决方法。如果有的话,您现在正在实施一种解决方法。只是思考的食物。
标签: java mysql xml spring hibernate