IT修真院·小课堂丨互联网职业小课堂在线学习平台

课堂课题:

什么是代码生成,mybatis generator代码生成是怎么实现的,还有什么办法可以生成代码?

关联任务:

任务五

直播时间:

2018-11-14 19:30:00


课堂内容:

视频链接:

PPT链接:

提交按钮:

小课堂内容格式


标题:

【修真院xx(职业)小课堂】课题名称

开场语:

大家好,我是IT修真院XX分院第X期的学员XX,一枚正直纯洁善良的XX程序员,今天给大家分享一下,修真院官网XX(职业)任务X,深度思考中的知识点——XXX

(1)背景介绍:

背景介绍的时候,尽可能的要宽广,讲清楚来龙去脉,讲清楚为什么会需要这个技术。

(2)知识剖析:

讲知识点的时候,尽可能的成体系,学会成体系的去给别人介绍知识。现在很多做的都是零散的,没有分类。

(3)常见问题:

最少列出1个常见问题。

(4)解决方案:

写清楚常见问题的解决方案。

(5)编码实战:

尽可能的去寻找在真实项目中在用的。如果你能找到某个网站在用你说的知识点,这是最好的。学以致用,否则当成练习题就没有意义了。多准备一些demo,讲解过程中将知识点和demo结合,便于大家理解所讲解的知识点。

(6)拓展思考:

知识点之外的拓展思考,由分享人进行讲解,这些东西就是所谓的深度,也是一个人技术水准高低比较的表现。

(7)参考文献:

引入参加文献的时候,在引用的句子后面加上序号【1】。参考文献中列出详细来源。不要去抄别人的东西,这是一个基本的态度。

(8)更多讨论:

Q1:提问人:问题?
A1:回答人(可以是分享人,也可以是其他学员):回答
Q2:提问人:问题?
A2:回答人(可以是分享人,也可以是其他学员):回答
Q3:提问人:问题?
A3:回答人(可以是分享人,也可以是其他学员):回答

(9)鸣谢:

感谢XX、XX师兄,此教程是在他们之前技术分享的基础上完善而成。

(10)结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

什么是代码生成,mybatis generator代码生成是怎么实现的,还有什么办法可以生成代码?     中品

辅导师兄 [修真长老]CSS-僵尸集中营


【修真院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插件需要某种配置环境吗?

答:此插件将<cache>元素添加到生成的SQL映射。此插件仅适用于MyBatis3定向运行时

2.sql语句包括什么?

答:插入按主键更新通过示例更新(使用dynamic where子句)按主键删除通过示例删除(使用dynamic where子句)按主键选择选择示例(使用动态where子句)按例子根据表的结构,这些语句有不同的变体(例如,如果表没有主键,则MBG将不会通过主键功能生成更新)

3.动态sql用起来有什么问题吗?

答:这里只做了一个简单的例子。因为方法名的原因,用起来比较吃力,但是如果以后公司没有代码生成的话,可以学习下。


天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~


评论

[真传弟子]JAVA-王志雄 发表于 2018-11-19 09:20:48 #1

Mybaits generator这个插件的使用方法基本都讲到了,后续可以了解下通用mapper这个插件

回复

请您登录 后进行评论