菜鸟程序员Java系列

因工作原因初识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

总结 此方法给我感觉是代码量少,修改起来方便,网上还有其他实现方法包括Tomcat自带的、第三方的,后续将慢慢踩坑后写出来。有兴趣可以一起来交流讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值