相信现在Java Web开发都是用的mybatis吧,而用到mybatis很多人都不会错过通用mapper吧! (纯属瞎扯淡...qwq)。
如我上一篇博客所写,目前公司新项目,使用了通用mapperScan扫描mapper。这篇文章也是跟它有关的,不多哔哔,直接说遇到的问题及解决吧。
环境 spring boot 2.1.0 + mapper-spring-boot-starter 2.1.4
看过 mapper-spring-boot-starter 2.1.4的maven结构可以看见里面包含了mybatis 3.4.6,读过mybatis 3.x的源码应该都知道tk.mybatis.mapper.common包里有mysqlMapper和mapper。
而mapper和mysqlMapper接口继承的类就是我们开发中用到的东西。
遇到的问题是,Cause: java. lang.InstantiationException: tk.mybatis.mapper.provider.base.BaseInsertProvider ,意思很明白了,就是没有这个提供者,可是我加上了mapperScan,肯定是可以扫描上的,在网上查了一会,发现mapperScan有两个包,导包的时候需要倒入tk.mapper里面的包,而我导入的正好是错误的一个...重新导包后,问题解决。
搜索了一些资料后,发现很多解决方案都来源与通用mapper github的faq,https://github.com/abel533/Mapper/wiki/faq 。基本上常用的错误或问题,都有解决方案。。
Cause: java. lang.InstantiationException: tk.mybatis.mapper.provider.base.BaseInsertProvider