这里是修真院后端小课堂,每篇分享文从
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
八个方面深度解析后端知识/技能,本篇分享的是:
【mybatis generator代码生成 】
【修真院java小课堂】mybatis generator代码生成
大家好,我是IT修真院武汉分院第17期的学员汪天驰,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java任务3,深度思考中的知识点—mybatis generator代码生成
(1)背景介绍:
MyBatis代码生成器——MyBatis Generator
MyBatis Generator能够根据配置生成不同类型的代码,代码包含了数据库表对应的实体类、mapper接口类、mapperXML文件和Example对象等。
这些代码中几乎包含了全部的表单操作方法,可以极大程度上方便我们使用MyBatis。
自动生成pojo和mapper.xml文件,提高开发效率,作为一个优秀的程序员,“懒”是很重要的优点。
当然,自动生成的都是固定的,对于CRUD操作自然是省事,但是对于一些特殊的业务和表操作,还是需要写的。
他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。
这样和数据库表进行交互时不需要创建对象和配置文件。
MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。
(2)知识剖析:
如何实现MBG
1.做好你需要的数据库和表
2.添加插件
mybatis.jar
mybatis-generator-core.jar
mysql-connector-java.jar
mybatis-generator-maven-plugin
3.编写配置文件generatorConfig.xml
MBG插件的优缺点
优点
1.方便 快速 节省重复代码时间
2.使用简单
缺点
只能生成简单的crud 一些特殊的业务和表需要修改
(3)常见问题:
联表查询如何操作
在生成简单的crud之后 你可以自己在mapper.xml补充 也就是自行补充
是否就这一种方法
MYBATISGENERATOR+TKMAPPER
MyBatis 代码生成器(简称为 MBG)的基础上,如果数据库字段变化很频繁,就需要反复重新生成代码,并且由于 MBG 覆盖生成代码和追加方式生成XML
导致每次重新生成都需要大量的比对修改。
另外,仅仅基础的增删改查等方法,就已经产生了大量的 XML 内容,内容多,看着比较碍事。
为了解决前面提到的问题,也为了兼容 MBG 的方法避免项目重构太多,在 MBG 的基础上结合了部分JPA注解产生了通用Mapper。
通用Mapper可以很简单的让你获取基础的单表方法,也很方便扩展通用方法。使用通用 Mapper 可以极大的提高你的工作效率。
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
(4)编码实战:
(5)拓展思考:
(6)参考文献:
http://mbg.cndocs.ml/quickstart.html
(7)更多讨论:
1.mbg插件需要某种配置环境吗?
答:此插件将
2.sql语句包括什么?
答:插入按主键更新通过示例更新(使用dynamic where子句)按主键删除通过示例删除(使用dynamic where子句)按主键选择选择示例(使用动态where子句)按例子根据表的结构,这些语句有不同的变体(例如,如果表没有主键,则MBG将不会通过主键功能生成更新)
3.动态sql用起来有什么问题吗?
答:这里只做了一个简单的例子。因为方法名的原因,用起来比较吃力,但是如果以后公司没有代码生成的话,可以学习下。
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
更多内容,可以加入IT交流群565734203与大家一起讨论交流
这里是技能树·IT修真院:,初学者转行到互联网的聚集地
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。