使用简单的Spring DAO方法,这是非常简单的。但是,使用MyBatis,有没有办法设置多个潜在的数据源?
我能想到的最好的方法是使用Bean的ArraList,每个包含datasource.driverclass,datasource.url,datasource.username,datasource.password等。
数据源的值存储在各个属性文件中。可能有1或10个属性文件(或更多)。
因此,例如,一个应用程序启动所有属性文件将一次一个地加载到ArrayList中。然后,根据属性文件中的NAME = value行,我们将知道要命中哪个数据源。
所以http:localhost:8080 / name = db1
...将访问使用名称" 09"配置的数据源中的所有数据。每个属性文件都包含:
name=db1
datasource.driverclass=jdbc:sqlserver
datasource.url=jdbc:sqlserver://localhost:1433;databaseName=someDBname
datasource.username=user1
datasource.password=pass1
所以这里的标识符是" name = db1"。
MyBatis实现的最佳方法是使用Bean的ArrayList吗?
答案 0 :(得分:1)
如果您想了解多个数据库,可以使用以下链接:
无论如何,我想说数据源应该在服务器配置中而不是在应用程序中进行管理。
然后Mybatis主配置文件必须放在添加到类路径的位置,但在app包之外,因为必须在 environment 元素内引用每个新数据源。
对于每个用户请求或会话(如果是Web应用程序),将解析配置,因为必须调用SqlSessionFactoryBuilder.build(reader, environment=NAME);
来选择环境(=>数据库)。
答案 1 :(得分:0)
我最终使用了一个分层的application.yml文件,详细说明了基于所选租户代码的多租户连接值。