加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何使用mybatis generator代码生成?

发布时间:2020-12-14 06:35:08 所属栏目:Java 来源:网络整理
导读:这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能,本篇分享的是: 【如何使用mybatis generator代码生成?】 【修真院java小课堂

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【如何使用mybatis generator代码生成?】

【修真院java小课堂】

MYBATIS GENERATOR

(1)背景介绍:

MyBatis Generator

MyBatis Generator (MBG) 是一个Mybatis的代码生成器

他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。

这样和数据库表进行交互时不需要创建对象和配置文件。

MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。

您仍然需要对联合查询和存储过程手写SQL和对象

(2)知识剖析:

实现MBG的方式

1.使用命令行生成(了解)

2.使用maven插件进行生成(常用)

两种方式使用的generator.xml文件内的配置都是一样的,第一种需要用命令行加载jar包,第二种则需要用编辑器配置pom.xml

使用mybatis generator进行代码生成的操作步骤

第一步:准备数据库、表

第二步:3个依赖和1个插件

mybatis.jar

mybatis-generator-core.jar

mysql-connector-java.jar

mybatis-generator-maven-plugin

第三步:编写配置文件generatorConfig.xml

a.配置数据库连接地址及账号密码

b.生成的Model类存放位置

c.生成的映射文件存放位置

d.指定要生成的表(命名规范)

代码生成的映射文件提供了几种常用的CRUD操作

1.insert()

2.insertSelective()

3.updateByPrimaryKeySelective()

4.updateByPrimaryKey()

5.selectByPrimaryKey()

6.deleteByPrimaryKey()

mybatis-generator的运行过程

连接数据库——》从数据库的表中获取字段——》依据字段生成mapper文件、dao、实体类

生成的方式

1.使用命令行生成

2.使用maven插件进行生成

(3)常见问题:

数据库命名规范和JAVA命名规范不一样的怎么办?

只能逆向生成mapper.xml文件吗,可否生成annotation的mapper呢

(4)解决方案:

1.如不加设置,mybatis-generator会把数据库中的下划线规则自动转化为JAVA中的驼峰规则并生成实体类

2.可以通过generatorConfig.xml设置

将javaclientgenerator参数中的TYPE值由XMLMAPPER改为ANNOTATEDMAPPER即可

(5)编码实战:

(6)拓展思考:

(7)参考文献:

http://mbg.cndocs.ml/quickstart.html

https://gitee.com/free/Mybatis_Utils/blob/master/MybatisGeneator

(8)更多讨论:

1.什么是Example,什么是Criteria?

答:Example类被用来生成任何where子句。它包含一个内部静态类Criteria。这个Criteriz维护一个条件列表,这些条件会被 anded到where子句。 2.createCriteria()方法和or()方法的区别?

答:两个方法都可以用来创建Criteria对象。区别在于首个被crateCriteria方法创建的Criterier对象将自动添加到list of criteria。如果是被or()方法创建,则是添加到the list in all instance。

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

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

(9)鸣谢:

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

(10)结束语:

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

PPT链接?视频链接

更多内容,可以加入IT交流群565734203与大家一起讨论交流

这里是技能树·IT修真院:,初学者转行到互联网的聚集地

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读