Cause: java. lang.InstantiationException: tk.mybatis.mapper.provider.base.BaseInsertProvider
相信現在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