
文章图片

对会用的人来说 , mybatis-plus的wrapper非常好用 , 不再需要去关注dao层了 , 但是这需要一定的学习成本 , 而且不太符合经典的三层架构思维 , 对一些老前辈来说完全是违反常识的 , 很别扭 。 对他们来说 , dao层还是拿在自己手里更踏实 , 给第三方封装起来有点不踏实 ,
另一方面 , 现在代码生成器的框架很多 , 用起来很方便 , 老前辈们宁愿用“mybatis+代码生成器”的组合 , 不愿意颠覆自己的思维习惯;当然这样的代价就是自己维护xml文件 , 很麻烦 。
最近的使用后有一个新的想法 , mp不能很方便地多表联查 , 然后映射成一个vo对象 , 这样的话service层的业务逻辑会变复杂 , 多次查询导致性能也会有所下降
虽然mybatis-plus是在mybatis上做了很多增强功能 , 都是继承mybatis的类 , 然后修改了相应的某些逻辑 。 这样固然是轻松巧妙的解决问题的办法 , 但是也会导致自己的设计不够完美 。
一、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|为什么mybatisplus这么好用,反而用的不多?】毕竟 , 是基于MyBatis的 , 而用MyBatis的 , 都是喜欢写SQL , 喜欢写xml的 , 而MyBatis Plus是写Java的 。 ORM是自动挡 , MyBatis是手动挡 , MyBatis Plus是在副驾驶装一个离合器 。
- 为什么科学家表示人类“灭绝”的可能性极低?这些理由你赞同吗?
- 为什么科学家知道太阳的原理,却无法制造出人造太阳
- 为什么科学家用昆虫翅膀的起源质疑进化论?达尔文到底是对是错?
- 为什么夜空是黑的?你以为的“正常”,或许隐藏着不知道的秘密
- 为什么温度高到一定程度的物体,就会发光?
- 为什么现在很少有人提及“克隆技术”了?“克隆技术”有何缺点?
- 为什么同学群里,很少有人说话,大部分人都选择沉默或者屏蔽?
- 科学家解释黑洞是不可视的,为什么我们会发现它
- 腾讯|1080P是什么意思网路用语,为什么是骂人的
- 关于时间的12件事,比如为什么从三月份起要把你的钟表拨快些?
