采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
Mybatis好麻烦,而且是SQL转代码;
用JPA的方式的话,@Entity注解domain,配置generate-ddl: true,就变成代码转SQL自动创表; 继承JpaRepository接口也可以根据方法名执行sql语句,不用那么多配置写SQL。
在开发上会不会更方便些?
项目中选择Mybatis主要有两大原因:
在国内环境里,主流持久层还是Mybatis,这个可以通过百度指数看出来,所以讲解Mybatis更有利于就业
一般项目的开发流程是,先设计好模型,团队评审没问题,再开发代码,所以一般是定好数据库表结构,再生成类,而不是用类来生成数据库,所以我课程里也是按这个步骤,先讲解清楚表结构,再生成代码。
另外,后续章节,我们要做代码生成器,也会用mybatis生成器配置文件,只要一处配置,就可生成前后端代码。
在国内,JPA更适合小项目或个人开发者,企业项目推荐Mybatis,供参考。
generate-ddl:true 是用来 demo 的, 真正做项目不会使用. mybatis plus和 jpa 一样简单, crud 可写 sql 也可完全不写 sql. 最后 mybatis plus 完全兼容 mybatis 的写法, 当然你还会用上 mybatisx 插件, 因为他自动帮你生成 entiy, mapper, service代码, 你只要写个 controller 后端就完成了.
大部分项目都用了 mp, 比如知名的ruoyi, pig, ballcat, 我以前 也不用, 后来发现就和 lombok 一样, 一开始你会觉得 set, getter IDE可以自动生成呀. 后来发现简单易维护才是最重要的. 在 xml 中写 自定义的 sql 就行了, 简单的crud 还是不要写在 xml 里了. 并且 mybatisx 可以和 jpa 一样, 根据 findByNameAndAge 帮你生成SQL
我还记得以前单用 mybatis 的时候 还要弄个 pagehelper 插件, 还要找相应的 starter. 并且维护他们的版本关系, 最终发现与其添加多个 starter 依赖, 不如添加 唯一的 一个 mybatisplus-starter (已经自带 page helper) 关键是添加了 mp 以后, 现有的 mybatis 代码 不用改依然好用 我就觉得这点很牛逼~
如果同学对mybatis-plus熟,用它也没问题的。mybatis-plus就是对mybatis做了增强。 在大公司里,特别是支付、金融等领域的公司,对第三方JAR的依赖都是有专门的部门审核才能用,而且版本号也是固定化的,同时也会针对已用的JAR版本做跟踪,如果有漏洞,会要求所有项目作升级。 mybatis+官方生成器用起来也很快,并不比mp多花多少时间,且生成的代码是原生mybatis,比再引入一个plus风险低。像log4j这么知名的日志框架,在2021年也被报出了重大问题,所以项目用的第三方越多,风险越大。 这个是我做第三方支付多年养成的习惯:非必要不引入第三方JAR,所以像lombok我也没用,用的IDEA自带生成原生的set get,作为学习项目,用是没问题的。 要不要用第三方依赖,我觉得可以从几个方面来考虑: 1. 提升开发效率,且无可替代,比如课程用了hutool,因为它确实提供了很多方法,加快我的开发效率,比如雪花算法、JWT等,这些方法在JDK原生包里是没有的。而像mp lombok,我都有替代方案,且风险低。 2. 提升程序性能,比如在早期版本的JDK,动态代理性能就不如cglib,所以springboot引入了cglib 3. 功能依赖,你的程序特别依赖某个第三方的功能,比如做一些excel操作、视频音频操作等。 总之是非必要不用第三方,以上是供参考。
登录后可查看更多问答,登录/注册
最新版Spring3.0仿12306售票系统实战
1.1k 28
564 12
598 8
640 8
1.1k 7