您的位置:首页 > 编程语言 > Java开发

spring boot项目配置连接mysql数据库和MyBatis的配置

2019-06-29 00:40 351 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/lgc_cn/article/details/94069018

spring boot项目连接数据库,需要三步。

第一步在配置(即application.yml)中加入数据库连接串

[code]datasource:
primary:
driverClassName: com.mysql.jdbc.Driver
username: test
password: test
url: jdbc:sqlserver://192.168.9.111:1433;databaseName=TestDB;sendStringParametersAsUnicode=false
autoCommit: true
#连接超时
connectionTimeout: 6000
#空闲超时时间(10分钟)
idleTimeout: 600000
#最大存活时间 (最好设置)默认30分钟
maxLifetime: 1800000
#最大连接池大小
maximumPoolSize: 200
minimumIdle: 5
testOnBorrow: true
validationQuery: SELECT 1
第二步引入相关的jar包,mysql-connector-java和mybatis-spring-boot-starter。
第三步增加配置类注入数据源
[code]@Configuration
//为了支持注解事务,增加了@EnableTransactionManagement注解,并且反回了一个PlatformTransactionManagerBean
@EnableTransactionManagement
@MapperScan(basePackages ="com.test.*.dao",sqlSessionFactoryRef = "primarySqlSessionFactory")
@Slf4j
public class PrimaryDataSourceConfig {

@Primary
@Bean(name = "primaryDataSourceProperties")
@ConfigurationProperties(prefix = "datasource.primary")
public DataSourceProperties primaryDataSourceProperties() {
return new DataSourceProperties();
}

@Bean(name = "primaryDataSource")
@Primary
public DataSource primaryDataSource() {
return primaryDataSourceProperties().initializeDataSourceBuilder().build();
}

@Bean(name = "primaryTransactionManager")
@Primary
public PlatformTransactionManager primaryTransactionManager(@Qualifier("primaryDataSource") DataSource dataSource) {
log.info("-------------------- primaryTransactionManager init ---------------------");
return new DataSourceTransactionManager(dataSource);
}

@Bean(name = "primarySqlSessionFactory")
@Primary
public SqlSessionFactory primarySqlSessionFactory(@Qualifier("primaryDataSource") DataSource primaryDataSource) throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(primaryDataSource);

PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sessionFactory.setMapperLocations(resolver.getResources("classpath*:sqlmap/test/**/*.xml"));

log.info("-------------------- primarySqlSessionFactory init ---------------------");
return sessionFactory.getObject();
}

@Bean(name="primarySqlSessionTemplate")
public SqlSessionTemplate primarySqlSessionTemplate(@Qualifier("primarySqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
log.info("-------------------- primarySqlSessionTemplate init ---------------------");
return new SqlSessionTemplate(sqlSessionFactory);
}
}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐