gpt4 book ai didi

java - 如何使用Spring管理与多个数据库的连接

转载 作者:太空宇宙 更新时间:2023-11-04 07:45:23 25 4
gpt4 key购买 nike

我已经阅读了其他主题,但没有找到好的、明确的答案

我正在尝试开发一个网络应用程序,它能够:

1)在单独的 UI 数据库中记录/跟踪用户事件,我们通过 Hibernate 使用相同的数据库模式连接该数据库(可能将连接字符串保存到不同的 Oracle 数据库)

2) 在运行时登录时,您可以选择一个环境来连接到具有相同架构(但数据不同)的三个不同 Oracle 数据库之一

3)提供正确的数据源以及用户名和密码(从哪里获取这些敏感数据?我不会将其存储在应用程序中的某个位置)

我对 Spring 框架相当陌生。我找到了这个link这可能是第一个线索。

有什么建议吗?

还使用 Spring 3.1 或 3.2、JDBC 查询我的 oracle 数据库并将 hibernate 映射到我的 UI 数据库。这听起来很困惑,所以我有一张图片:

infrastructure

最佳答案

只需创建不同的 DAO,每个 DAO 都附加一个单独的持久性单元。在 persistence.xml 中,您可以有多个持久单元,每个单元连接到不同的数据库。

示例:

public class Dao1{
@PersistenceContext(unitName="Database1")
protected EntityManager entityManager;

public class Dao2{
@PersistenceContext(unitName="Database2")
protected EntityManager entityManager;


<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="Database1">
<exclude-unlisted-classes />
<properties>
</properties>
</persistence-unit>

<persistence-unit name="Database2">
<exclude-unlisted-classes />
<properties>
</properties>
</persistence-unit>
</persistence>

关于java - 如何使用Spring管理与多个数据库的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15371706/

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