我有一个persistence.xml文件,用于加载数据库和连接。
我把用户名和密码像这样存储在里面:
<!-- MySQL -->
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost:3306/mydatabase"/>
<!-- Credentials -->
<property name="javax.persistence.jdbc.user"
value="this is user"/>
<property name="javax.persistence.jdbc.password"
value="this is password"/>
现在我有一个要求,不存储这些像这样的代码库,并希望通过连接以编程方式获取它们。我该怎么做呢?
动态设置值,您可以这样做:
配置。属性设置这些内容,然后访问它们
jdbc.url=jdbc:mysql://localhost:3306/my_database
jdbc.username=root
jdbc.password=123
<property name="javax.persistence.jdbc.url" value="${jdbc.url}" />
<property name="javax.persistence.jdbc.password" value="${jdbc.properties}" />
或者如果你想在控制器中获取它们,可以使用"EntityManagerFactory">
来获取它们EntityManagerFactory emf = entityManager.getEntityManagerFactory();
Map<String, Object> emfProperties = emf.getProperties();
String url = (String) emfProperties.get("javax.persistence.jdbc.url");
String user = (String) emfProperties.get("javax.persistence.jdbc.user");
String password = (String) emfProperties.get("javax.persistence.jdbc.password");