如何更改MySQL会话数据库?

时间:2019-03-31 15:55:50

标签: java mysql hibernate jpa

我正在尝试在程序启动时更改默认数据库。首先,我从默认数据库(main_database)开始,然后选择一些表,然后更改为另一个表(second_database)。

我使用此代码,但不起作用:

self.gui.table_widget.cellChanged.connect(self.cell_changed)

@pyqtSlot()
def cell_changed(self):
    try:
        self.cell = self.gui.table_widget.currentItem()
        self.triggered = self.cell.text()
        print(self.triggered)
    except:
        pass

但似乎getResultList仅适用于Selects。

我该如何解决这个问题?

我正在使用Spring Boot和JPA。

谢谢!

解决方案:

租期(针对Spring Boot和JPA): https://javadeveloperzone.com/spring-boot/spring-boot-jpa-multi-tenancy-example/

1 个答案:

答案 0 :(得分:1)

我可以想到两种选择,但这都取决于您的用例:

1。在“ default_database”中创建实时视图

您正在使用31个子数据库,但是是否需要访问它们的所有数据?如果无法解决此问题(例如,您将来希望从这31个数据库之一访问任意表),则不能进行实时取景。

如果确定您的应用程序所需的所有数据都是-从DB 1-表A和B;来自DB2-表C;从DB3-表D和E;等等-这可能是创建视图的好方法。 您还应该考虑表数据的大小和要执行的操作(例如,只读还是写?)

2。为多租户配置Hibernate:

您可以将休眠配置为在不同的数据库中执行查询。

您需要注意以下事项:

您可以按照official doc进行操作,以获取更多详细信息和代码示例,以及大师亲自提供的出色的hands-on article