依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
// sqlserver驱动
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
yml配置文件
# 三个数据源:mybatis,jdbcyiqi,jdbcmite
jdbcself:
url: jdbc:jtds:sqlserver://127.0.0.1;DatabaseName=database1
username: sa
password: 123456
driverClassName: net.sourceforge.jtds.jdbc.Driver
jdbcyiqi:
url: jdbc:jtds:sqlserver://127.0.0.1;DatabaseName=database1
username: sa
password: 123456
driverClassName: net.sourceforge.jtds.jdbc.Driver
jdbcmite:
url: jdbc:jtds:sqlserver://127.0.0.1;DatabaseName=database1
username: sa
password: 123456
driverClassName: net.sourceforge.jtds.jdbc.Driver
# mybatis配置
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
typeAliasesPackage: com.lq.erpdata.infrastructure.entity
mapperLocations: classpath:mapper/*/*.xml
#分页配置
pagehelper:
helper-dialect: sqlserver
params: count=countSql
reasonable: true
support-methods-arguments: true
数据源配置
这里只写一个,其它三个都相似,mapper接口包路径不同还有连接参数不同
@Configuration
@MapperScan(value = "mapper接口的包路径", sqlSessionFactoryRef = "mybatisSqlSessionFactory")
public class MybatisDataSourceConfig {
@Value("${jdbcself.url}")
private String url;
@Value("${jdbcself.username}")
private String username;
@Value("${jdbcself.password}")
private String password;
@Value("${jdbcself.driverClassName}")
private String driverClassName;
@Bean("mybatisDatasource")
public DataSource mybatisDatasource() {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDbType(DbType.jtds);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
druidDataSource.setDriverClassName(driverClassName);
druidDataSource.setValidationQuery("select 'x'");
return druidDataSource;
}
@Bean("mybatisSqlSessionFactory")
public SqlSessionFactory sqlSessionFactory(@Qualifier(value = "mybatisDatasource") DataSource dataSource) throws Exception {
// 设置mapper的xml文件路径
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
Resource[] resources = new PathMatchingResourcePatternResolver()
.getResources("classpath:mapper/mymapper/*.xml");
factoryBean.setMapperLocations(resources);
return factoryBean.getObject();
}
@Bean("mybatisDataSourceTransactionManager")
public DataSourceTransactionManager primaryTransactionManager() {
return new DataSourceTransactionManager(mybatisDatasource());
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(@Qualifier(value = "mybatisSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
// 使用上面配置的Factory
return new SqlSessionTemplate(sqlSessionFactory);
}