入职后,第二个小项目

总而言之,是数据查询,多个数据库查询,将数据合并。

1.项目理解

 项目很简单,就是查询多个数据库,然后将数据合并起来即可。

2.项目需求分析

2.1:确定 查询哪些数据库,哪些表,所需要的表信息,

2.2:找涉及到这些数据查询的项目代码,阅读。进一步整理表的查询

3.开发自测;

3.1 因为涉及了多个数据库查询,需要采取异步的方式来查询,所以选用了注解@Async,因此解锁了新的知识点。最初采用的是Future的返回值,因为get会阻塞,我的数据库是db2和oracle并存,而且 db2 和oracle 又各有好几个分库,所以,如果我采用Future的方式来返回数据,在采用get获取数据时,会阻塞,如果用while来一直循环,会严重消耗cpu。

3.2 异步查询的异常怎么统计,因为需要明确知道那个库出的异常。第一次代码检视时,这些问题就暴露的出来。

3.3 第一次代码检视的问题:1.魔法值 2.异常处理 3.Future get阻塞

3.4 于是开始了第二次更改,查询资料,发现了,completeFuture,是采用流的形式,而且异常可以处理。不需要人为的去等待阻塞。于是选择了这个。然后,封装了返回的结果。算是一个resultbean吧。 属性为 list数据, errorcode,errormsg,exceptionMsg。去除了魔法值,定义了错误码。

3.5 因为涉及到了 多个数据源的切换,在这里用了 aop 切面的方式,来获取注解上的值,并动态切换数据源。挺好用的,数据库连接池,用的springboot自带的 hikari大家可以配置连接池的名字,这样你就知道 你查的数据库到底切换没了,

3.5 第二次代码检视,师傅一直没时间,就没进行了

4.联调 

这里遇到的最大的问题,就是 你需要把你的打成jar包,让别人引用。并没有打依赖,因为项目不稳定,现在用不到,就简单的联调下,就打jar包本地联调了下。

遇到问题

4.1。springboot 如何接管 jar里的bean ,

@ComponentScan 扫描就好了,

4.2 jar里的配置文件 有时候会覆盖的,这涉及到了配置文件的优先级,我是把jar包里的配置文件放到了resource 下的config文件里。这样才能形成互补。

接下来就是联调测试。

5.因为项目不算结束,简单的结项了,后面数据库确定后,因为oracle 还没定听说要用高斯,哎,可能以后会写。

这就是第二个项目了,耗时很短,要谨记,不会就问,不要自己瞎捉摸,除非你想耗时间。有困难找同事。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值