sqlSessionFactoryBean.setMapperLocations 通配符 在配置代码中怎样使用
@Bean(name = ["sqlSessionFactoryMicrotek"])@Primary@Throws(Exception::class)fun sqlSessionFactoryMicrotek(dataSourceMicrotek: DataSource,@Value("classpath:/mybatis/microtek/mybatis-config.xml")configLocation: Resource): SqlSessionFactory {val sqlSessionFactoryBean = SqlSessionFactoryBean()sqlSessionFactoryBean.setDataSource(dataSourceMicrotek)sqlSessionFactoryBean.setConfigLocation(configLocation)val resolver = PathMatchingResourcePatternResolver()sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath*:/mapperxml/microtek/*.xml"))return sqlSessionFactoryBean.`object`}
完整的代码实例如下:
package com.alibaba.microtek.datasourceimport com.alibaba.boot.tddl.builder.datasource.TDataSourceBuilder
import org.apache.ibatis.session.SqlSessionFactory
import org.mybatis.spring.SqlSessionFactoryBean
import org.mybatis.spring.SqlSessionTemplate
import org.mybatis.spring.mapper.MapperScannerConfigurer
import org.springframework.beans.factory.annotation.Value
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.Primary
import org.springframework.core.io.Resource
import javax.sql.DataSource
import org.springframework.core.io.support.PathMatchingResourcePatternResolver@Configuration
class DatasourceConfigMicrotek {@Value("tddl.microtek.app")val appName: String? = null@Bean(name = ["dataSourceMicrotek"])@Primaryfun dataSourceMicrotek(): DataSource {return TDataSourceBuilder.create().appName(appName).dynamicRule(true).sharding(false).build()}@Bean(name = ["sqlSessionFactoryMicrotek"])@Primary@Throws(Exception::class)fun sqlSessionFactoryMicrotek(dataSourceMicrotek: DataSource,@Value("classpath:/mybatis/microtek/mybatis-config.xml")configLocation: Resource): SqlSessionFactory {val sqlSessionFactoryBean = SqlSessionFactoryBean()sqlSessionFactoryBean.setDataSource(dataSourceMicrotek)sqlSessionFactoryBean.setConfigLocation(configLocation)val resolver = PathMatchingResourcePatternResolver()sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath*:/mapperxml/microtek/*.xml"))return sqlSessionFactoryBean.`object`}@Bean@Primaryfun sqlSessionTemplateMicrotek(sqlSessionFactoryMicrotek: SqlSessionFactory): SqlSessionTemplate {return SqlSessionTemplate(sqlSessionFactoryMicrotek)}@Bean@Primaryfun mapperScannerConfigurerMicrotek(): MapperScannerConfigurer {val mapperScannerConfigurer = MapperScannerConfigurer()mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryMicrotek")mapperScannerConfigurer.setBasePackage("com.alibaba.microtek.mapper.microtek")return mapperScannerConfigurer}}