美文网首页
使用Mybatis-plus的坑

使用Mybatis-plus的坑

作者: 鸡龙 | 来源:发表于2019-11-10 08:35 被阅读0次

    为了填这坑,晚上两点没睡,虽然是自身菜的原因,但我还是得骂街。

    坑原型

    在从Mybatis上增强到Mybatis-plus想使项目少写两条基础语句简洁点时,发现原始问题。他说找不到我的usermapper。百度找了一通,都说你的scan没扫好啊,什么什么乱七八糟的。虽然他们说的是其中一种情况,但刚好,我不是。。我都扫描到了。

    jar包冲突

    既然增加了scan无法解决问题,又开始搜索搜索,掉进了其中一个坑,我本来没有同时使用Mybatis和Mybatis的依赖,但就在昨天我脑子抽风,将两个maven都加上了。导致加载sqlSessionFactory时无法创建。

    依赖版本

    版本不同,类位置不同导致老是报红,让我来来回回的切换版本。。

    最终原因

    由于这个报错具有迷惑性,让我以为我的Mapper没有被扫描掉,一直无限排查,修改xml,建立mybatisconfig,还是于事无补。最后偶然的一次机会中,我扫除掉了之前重叠的Mybatis-plus这个依赖并且启动了。奇迹发生了。

    后知后觉的debug,发现mapper原来并不为空。再搜索关于mybatisPlus的坑的博客。最终锁定以下原因:

    mybatis-plus异于mybatis-plus-boot-starter

    原来mybatis-plus并没有自动生成任何语句。即其中的selectList方法要自己来实现。他报错并不是mapper空间没有被找到,而是selectList没有被找到。

    实践发现,这样子查询就成功了。

    后来把包直接换成mybatis-plus-boot-starter就不需要这条xml了,但在切换版本的时候也出现了一些差错,3.2.0版本会导致原代码import报红,最终切换到3.0.5解决所有问题。

    相关文章

      网友评论

          本文标题:使用Mybatis-plus的坑

          本文链接:https://www.haomeiwen.com/subject/jdvobctx.html