因工作原因初识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")@Resourcepublic 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自带的、第三方的,后续将慢慢踩坑后写出来。有兴趣可以一起来交流讨论。

菜鸟程序员Java系列相关推荐

  1. 菜鸟程序员成长记Java系列(二)

    菜鸟程序员Java系列之mybaits 上个篇聊了数据库连接,本次聊一下mybaits的集成 pom.xml文件多加了 <dependency><groupId>org.myb ...

  2. 程序员面试系列之Java单例模式的攻击与防御

    我写的程序员面试系列 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因? Java程序员面试系列-什么是Java ...

  3. 原创电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

    <菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...

  4. 编程25年后,现实将我打回菜鸟程序员的起点

    在从事了 25 年的编程工作后,我却发现自己没有什么具体的东西可以展示给大家.我需要克服完美主义思想和对被批评的恐惧,向大家展示真实的自己. 作者 | DeChamp 译者 | 苏本如 责编 | 仲培 ...

  5. “菜鸟”程序员和“大神”程序员差距在哪里

    点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 刚刚走出就业的程序员,技术是刚刚起步的基点.那下面我们就聊一聊有关技术的东西.首先请您先想 ...

  6. 是非人生 — 一个菜鸟程序员的5年职场路 第8节

    是非人生 - 一个菜鸟程序员的5年职场路第8节作者: 花8 天涯IT: http://cache.tianya.cn/publicforum/content/itinfo/1/77229.shtml ...

  7. 是非人生——一个菜鸟程序员的5年人生路

    注意:!!!!!!!!!!!! 文章可能还在连载.请关注: http://topic.csdn.net/u/20080318/10/e4543fc2-d726-465c-bc95-fea14b92db ...

  8. 本科毕业四年时间如何从月薪7k到年薪60w,讲下个人从菜鸟程序员到公司核心开发工程师的历程!

    本科毕业四年时间如何从月薪7k到年薪60w,讲下个人从菜鸟程序员到公司核心开发工程师的历程,本帖主要分享下个人经历,只要努力最终会收获一个相对于自己较好的结果的,工位照镇楼 毕业四年到现在总共换了三份 ...

  9. 菜鸟程序员如何才能快速提高自己的技术

    导语:很久没有这么悠闲的在家撸一篇文章了,最近也在思考怎样才能写一些对程序员帮助非常大的文章,怎样去运营好我们这个移动开发者聚集地的公众号:非著名程序员.当初弄这个公众号的本意就是为广大的开发者提供各 ...

最新文章

  1. vim编辑环境设定[Linux]
  2. 灵活而又可怕的params参数数组
  3. 求一个二维数组的最大子矩阵的和
  4. unity---------------------关于BuildAssetBundles的使用(打包)
  5. AVL Cruise 2020安装教程
  6. 如鹏网.Net三层架构第二章登录和会员管理
  7. 如何给多段视频制作一行滚动字幕,并添加GIF表情包
  8. 连接宽带提示服务器无响应,宽带拨号上网服务器无响应是怎么回事
  9. 看老虎和狮子谁是兽中之王(国外学者详细论证)
  10. dependency
  11. Helmetphone智能头盔上手体验,享受智能的运动骑行
  12. Qt之TableView使用
  13. 常见的网络状态检测及分析工具
  14. 基于PHP爬虫的微博热搜实时监控平台
  15. Java中面试官常问问题
  16. 阿里妈妈展示广告粗排:面向链路一致性优化的端到端序学习模型
  17. simulink 双馈风机虚拟同步机VSG控制,风储VSG控制频域SFR模型,对比不同惯量J对一次调频频率的影响
  18. 最有骨气自尊心超强,绝不低声下气的四大生肖
  19. MySQL - Windows 版 MySQL 下载安装教辅
  20. OSChina 周五乱弹 —— 韦恩家族的温馨家宴

热门文章

  1. mysql 禁用ssl连接_MySQL建立SSL连接问题,设置useSSL=false显式禁用SSL,或者设置useSSL=true...
  2. CenterNet:Objects as Points论文阅读笔记
  3. LaTeX中的数学公式
  4. 视图的作用和创建、查询
  5. 基于 Python 的图像分类项目实践入门
  6. Linux查询端口和进程相关命令
  7. 读 张光斗:给老百姓干活的工程师 有感
  8. 《现代园艺》农业园艺省级期刊
  9. PS 滤镜算法原理——曝光过度
  10. 如何定位根本原因,试试5-Why分析法!