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
    }

}
相关文章
|
Linux
Linux查找多个文件、排除某类文件、匹配文件多处内容
Linux查找多个文件、排除某类文件、匹配文件多处内容
121 0
|
5月前
|
JSON JavaScript 前端开发
成功解决:正则表达式在vscode中会自动格式化一部分
这篇文章讨论了在Visual Studio Code中编写正则表达式时遇到的问题,即正则表达式因自动格式化而变形,并提供了使用双反斜杠、确保在字符串中定义正则表达式、检查文件类型等解决方法来避免这一问题。
成功解决:正则表达式在vscode中会自动格式化一部分
|
8月前
|
C语言
C 语言文件处理全攻略:创建、写入、追加操作解析
在 C 语言中,您可以通过声明类型为 FILE 的指针,并使用 fopen() 函数来创建、打开、读取和写入文件:
281 0
|
前端开发 开发者
评论列表案例-演示艾特符号替代相对路径的好处|学习笔记
快速学习评论列表案例-演示艾特符号替代相对路径的好处
464 0
|
Java API 容器
JAVA泛型和通配符,再也不用每次百度了
JAVA泛型和通配符,再也不用每次百度了
173 0
JAVA泛型和通配符,再也不用每次百度了
|
前端开发
评论列表案例-演示艾特符号替代相对路径的好处
评论列表案例-演示艾特符号替代相对路径的好处
|
SQL 数据库
SQL基础【十三、通配符】
SQL基础【十三、通配符】
110 0
SQL基础【十三、通配符】
|
前端开发 Java 数据库
Java常用对象后缀命名随记
面对java对象的命名,有时候会忘记取什么名字好点,以什么标准为主,所以就做下简单的记录,不断迭代
807 0
|
Windows
怎么去掉文章或产品介绍中的垃圾代码?怎么过滤这些垃圾代码?
一般从网页或从WORD中复制粘贴时,会带来一些垃圾代码,有可能会导致显示异常,例如如下样例中的灰色方框,无法直接删掉,怎么办? 小技巧:如点右键粘贴不能用,可以用粘贴快捷键:Ctrl+V 1、删掉方法如下:如下图,先点HTML图标,然后 就可以看到下面的代码了,直接删掉就行了。
1265 0