sqlSessionFactoryBean.setMapperLocations 通配符 在配置代码中怎样使用

简介: sqlSessionFactoryBean.setMapperLocations 通配符 在配置代码中怎样使用 @Bean(name = ["sqlSessionFactoryMicrotek"]) @Primary @Thr...

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.datasource

import 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"])
    @Primary
    fun 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
    @Primary
    fun sqlSessionTemplateMicrotek(sqlSessionFactoryMicrotek: SqlSessionFactory): SqlSessionTemplate {
        return SqlSessionTemplate(sqlSessionFactoryMicrotek)
    }

    @Bean
    @Primary
    fun mapperScannerConfigurerMicrotek(): MapperScannerConfigurer {
        val mapperScannerConfigurer = MapperScannerConfigurer()
        mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryMicrotek")
        mapperScannerConfigurer.setBasePackage("com.alibaba.microtek.mapper.microtek")
        return mapperScannerConfigurer
    }

}
相关文章
|
3月前
|
Java 测试技术 数据库连接
@Before 和 @BeforeClass 注释的区别
【8月更文挑战第22天】
228 0
|
6月前
|
算法 开发者
【CMake 设计命名思路】自定义命令命名规范与风格指南
【CMake 设计命名思路】自定义命令命名规范与风格指南
91 0
|
存储 JSON Unix
30.从入门到精通:Python3 命名空间和作用域 命名空间 作用域 Python3 标准库概览 操作系统接口 文件通配符 命令行参数 错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和
30.从入门到精通:Python3 命名空间和作用域 命名空间 作用域 Python3 标准库概览 操作系统接口 文件通配符 命令行参数 错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和
通配符注意事项
通配符注意事项
80 0
|
前端开发 开发者
评论列表案例-演示艾特符号替代相对路径的好处|学习笔记
快速学习评论列表案例-演示艾特符号替代相对路径的好处
453 0
|
编译器 Scala 开发者
类型匹配的注意事项和细节 | 学习笔记
快速学习类型匹配的注意事项和细节
|
前端开发
评论列表案例-演示艾特符号替代相对路径的好处
评论列表案例-演示艾特符号替代相对路径的好处
|
Windows
怎么去掉文章或产品介绍中的垃圾代码?怎么过滤这些垃圾代码?
一般从网页或从WORD中复制粘贴时,会带来一些垃圾代码,有可能会导致显示异常,例如如下样例中的灰色方框,无法直接删掉,怎么办? 小技巧:如点右键粘贴不能用,可以用粘贴快捷键:Ctrl+V 1、删掉方法如下:如下图,先点HTML图标,然后 就可以看到下面的代码了,直接删掉就行了。
1256 0
简述正则表达式及其用途
在编写处理字符串的程序时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
1842 0