课堂课题:
什么是代码生成,mybatis generator代码生成是怎么实现的,还有什么办法可以生成代码?
关联任务:
任务五
直播时间:
2019-04-29 15: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)结束语:
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
【修真院java小课堂】mybatis generator代码生成
开场语:
大家好,我是IT修真院上海分院第12期的学员吕志鹏,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java(职业)任务3,深度思考中的知识点——什么是代码生成,mybatis generator代码生成是怎么实现的,还有什么办法可以生成代码?
(1)背景介绍:
MyBatis代码生成器——MyBatis Generator
MyBatis Generator能够根据配置生成不同类型的代码,代码包含了数据库表对应的实体类、mapper接口类、mapperXML文件和Example对象等。这些代码中几乎包含了全部的表单操作方法,可以极大程度上方便我们使用MyBatis。
自动生成pojo和mapper.xml文件,提高开发效率,作为一个优秀的程序员,“懒”是很重要的优点。
当然,自动生成的都是固定的,对于CRUD操作自然是省事,但是对于一些特殊的业务和表操作,还是需要写的。
他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。
这样和数据库表进行交互时不需要创建对象和配置文件。
MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。
(2)知识剖析:
如何实现逆向生成
1.做好你需要的数据库和表
2.添加插件
mybatis.jar
mybatis-generator-core.jar
mysql-connector-java.jar
mybatis-generator-maven-plugin
3.编写配置文件generatorConfig.xml
(3)常见问题:
1、明明主键设置了,却没有生成主键的crud操作
2、设置生成的是某数据库中的user表,生成的却是另一个库中的user表
(4)解决方案:
1、在数据库连接配置中加入以下配置<property name="useInformationSchema" value="true" />
2、问题二暂时没有找到解决方法
(5)编码实战:
(6)拓展思考:
(7)参考文献:
https://blog.csdn.net/qq_39056805/article/details/80585941
(8)更多讨论:
Q1:提问人:除了使用插件生成,还有哪些方法?
A1:回答人:命令行生成和java的main函数生成
Q2:提问人:为什么复杂操作还是手写sql比较方便?
A2:回答人:生成的example类虽然方法很多,但我们要判断传入的参数是否空值和null,使用起来较麻烦,其次是生成的代码都是基于单表的,不能用于多表联查。
Q3:提问人:mybatis逆向生成代码,除了上述的方法,还有哪些?
A3:回答人:通用mapper和其他众多方法都能生成,甚至连service都能一并生成了
(9)鸣谢:
感谢汪天驰师兄,此教程是在他们之前技术分享的基础上完善而成。
(10)结束语:
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
[真传弟子]JAVA-孙壮壮 发表于 2019-05-05 10:40:09 #1
小课堂主要锻炼的就是对一个知识点的掌握,面试的时候能有东西可说。第一次讲小课堂还是不错的,希望以后的小课堂多做准备,更加了解某一个知识点。
回复