springboot 多数据源配置小记

无法获取实体类对应的表名

        WeekendSqls<CluesDealerSeries> dealSeriesCustom = WeekendSqls.custom();
        dealSeriesCustom.andEqualTo(CluesDealerSeries::getIsDel, Constants.STATUS_OK);
        dealSeriesCustom.andEqualTo(CluesDealerSeries::getStatus, 2);
        Optional.ofNullable(dealerDataMapping.getCompanyBrandId()).ifPresent(brandId -> dealSeriesCustom.andEqualTo(CluesDealerSeries::getBrandId, dealerDataMapping.getCompanyBrandId()));
     

临时支持其他项目需要用到java,虽然好多年前学习过java有点儿基础,但是对目前主流对springboot并没有深入研究过写起来多少有点磕磕绊绊;

在现有数据源基础上增加了个数据源,用Mapper查询时候报错, 提示 "无法获取实体类对应的表名"

看到有人这样写到(lctec.cc)

并没有错啊,然后看一下MapperScan引用的包,我去!竟然引用了org.mybatis.spring.annotation.MapperScan!

立马改一下包名,使用:

import tk.mybatis.spring.annotation.MapperScan;

开始没明白什么意思就请教了旁边的java 架构师,架构师听到要请教问题感觉放下手机看了会儿自己的屏幕,然后不情愿的过来看了两眼似乎这个太简单基础了,回到工位扔过来一个自己写过的demo 说在线上运行的好好的,照着这个就行; 

其实参考过这个,但是不清楚我的问题出在哪里;

后来又找了另外个小伙伴lvzihao来帮忙看了下,因为是午休时间虽然没解决,但是大概提示了下。

对着另外一个数据源的配置逐行对比,很快发现了问题

@Configuration
@MapperScan(basePackages = "com.autohome.cluemapper", sqlSessionTemplateRef = "clueSqlSessionTemplate")
public class ClueDataSourceConfig {
MapperScan这里导入的包为 org.mybatis.spring.annotation.MapperScan;

修改为 "tk.mybatis.spring.annotation.MapperScan" 后解决问题; 

通过这件小事让我认识到不要轻易迷信周边大佬能帮你,职场里不少情况下人都是自私的,别人没有义务帮你解决问题越是到上层越是如此;

有的人技术很厉害也只是限于自己,能不能教授别人从而让自己层次境界再进一步提升很难说; 

多思考比多发问重要; 发现问题和解决办法没有立马解决问题,要多关联思考,不要局限于一个思路,笨办法有时候恰恰是解决问题的好办法; 

原文地址:https://www.cnblogs.com/lavin/p/12101864.html