因工作原因初识Java,现自己动手一步步从头开始从头重构一个项目,此系列做一个踩坑日记,希望一步步记录自己的成长
菜鸟第一步 数据库连接(Tomcat版自带连接池)
此第一步是数据库的连接,现在数据库的连接有很多种,每种都有自己适合的场景(本人所贴代码,更多倾向于本人重构的项目当中,完全的CV大法不一定能在你电脑运行,若有同路人欢迎讨论交流)各自选择。来日方长慢慢踩坑,自己动手尝试一个写一个,后续慢慢更新。
此篇将围绕这包下的数据库连接池描述
import org.apache.tomcat.jdbc.pool.DataSource;
import org.apache.tomcat.jdbc.pool.PoolProperties;
1、环境 Windows10 + idea + MySQL
2、这里使用的首先在pom.xml文件添加依赖
<!--配置数据源Tomcat数据池连接-->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>9.0.37</version>
</dependency>
3、新建一个类MultiDataSourceDemoApplication.java,并在类上加上如下注解
@Slf4j
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class,
JdbcTemplateAutoConfiguration.class})
PS:@Slf4j此注解需要导入lombok插件,在pom.xml文件添加依赖,同时这里是排除了自动配置
<!--lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
4、话不多说,上核心代码
//MySQL数据库连接
@Bean
//这里是配置文件里面的配置开头
@ConfigurationProperties(prefix = "datasource")
public PoolProperties mysqlDataSourceProperties() {
return new PoolProperties();
}
@Bean
/**primary是表示有限级,我们使用是会直接写是MySQL还是Oracle,
但是当我们未写明直接使用DataSource时,这个注解就会优先加载此bean */
@Primary
//这里是配置文件里面的配置开头
@ConfigurationProperties(prefix = "datasource")
public DataSource mysqlDataSource(PoolProperties poolProperties) {
PoolProperties mysqlDataSourceProperties = mysqlDataSourceProperties();
log.info("mysql datasource: {}", mysqlDataSourceProperties.getUrl());
return new DataSource(mysqlDataSourceProperties);
}
// 数据库事务
@Bean(name = "mysqlTxManager")
@Resource
public PlatformTransactionManager mysqlTxManager(DataSource mysqlDataSource) {
return new DataSourceTransactionManager(mysqlDataSource);
}
//TODO 后续添加其他数据库
5、同时需要在application.properties文件里配置
#主数据库
spring.datasource.primary.url=jdbc:mysql://127.0.0.1:3306/test1?characterEncoding=utf-8
#自己的本地上数据库的账号密码
datasource.user=****
datasource.password=*****
datasource.driver-class-name = com.mysql.jdbc.Driver