栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

TK-MYBATIS InserList排坑指南

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TK-MYBATIS InserList排坑指南

问题1:

使用inserList报错

java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.SpecialProvider.

解题思路:

1 jvm找不到对应的class文件,一种情况是maven包没有引用,此类在core包中,一种是jar包冲突

2 @Mappscan注解使用错了,用的Spring的Mapperscan,替换为tkmybatis的Mappersan

3 mapper-spring-boot-starter 版本过低,需要升级版本,比如1.2.3升级至2.0.2问题解决

第三种思路需要深入源码解析

问题定位在

ProviderSqlSource 调用createSqlSource 获取构造方法的时候,调用了getDecalaredConstrator();

获取不到对应的构造器,然后调用newInstance导致无法创建对象,其实并不是Jvm虚拟机没有加载到对应的class文件,而是构造对象的时候没找到合适的构造器导致的

TODO 待定补充

 

 

吐槽

        现在开发封装的mybatis常用插件有两款tk-mybatis mybatis-plus;从个人使用角度出发,其实不推荐使用,这两款插件其实就是避免了大家写SQL,但是作为一名开发人员,你不会写SQL那就是开玩笑,这两款插件使用弊端繁多,出了问题,就得看源码分析,简直头疼,就算你用的精通了,但是问题排查还是坑,还需要去解析SQL,还原出来,而且复杂的SQL用插件实现远不如直接写SQL,因此不建议大家使用,毕竟插件的使用是为了简化大家开发工作,但是工具的复杂度,容错率反而复杂化了开发工作量,那还不如不用,直接使用原生mybatis。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686515.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号