如何解决如何从 MybatisProperties 构建 SqlSessionFactory(Bean)?
我正在尝试使用多个数据库配置我的 Spring Boot 应用程序,并且我设法找到了一个很好的方法来实现 DataSource
看起来像这样。
@DataSourceDb1
@Bean
@ConfigurationProperties(prefix = "application.db1.datasource.hikari")
public DataSource dataSourceDb1(@DataSourceDb1 DataSourceProperties dataSourceProperties) {
return dataSourceProperties
.initializeDataSourceBuilder()
.type(HikariDataSource.class)
.build();
}
现在我正在尝试从从 sqlSessionFactory(Bean)
加载的 MybatisProperties
实例配置 application.yaml
。
application:
db1:
datasource: # irrelevant
jpa: # irrelevant
mybatis:
configuration:
map-underscore-to-camel-case: true
configuration-properties:
a: b # just for debugging
mapper-locations: db1/sql/mapper/**/*.xml
我像这样成功加载了 MybatisProperties
。
@sqlMapperDb1
@Bean
@ConfigurationProperties(prefix = "application.db1.mybatis")
MybatisProperties mybatisPropertiesDb1() {
final MybatisProperties mybatisProperties = new MybatisProperties();
return mybatisProperties;
}
而且我也达到了以下状态。
@sqlMapperDb1
@Bean
public sqlSessionFactory sqlSessionFactoryDb1(
@Db1 final DataSource dataSource,@sqlMapperDb1 final MybatisProperties mybatisProperties) throws Exception {
final sqlSessionfactorybean factorybean = new sqlSessionfactorybean();
//factorybean.setVfs(SpringBootVFS.class);
factorybean.setDataSource(dataSource);
factorybean.setConfiguration(mybatisProperties.getConfiguration());
factorybean.setConfigurationProperties(mybatisProperties.getConfigurationProperties());
// Todo: set more from the properties // <<<<<<<<<<<-----!!!!!
return factorybean.getobject();
}
有什么好的方法可以从 factorybean
中定义的 mybatisProperties
文件中配置 application.yaml
吗?
就像那样
return dataSourceProperties
.initializeDataSourceBuilder()
.type(HikariDataSource.class)
.build();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。