Mybatis Generator的基本使用

Java小课堂

分享人:何东霖

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

Mybatis是现在比较常用的持久层框架,使用起来比较方便,而且功能也相对强大,实现方法分别是基于注解和基于映射文件。但是当需要操作的实体类较多时,逐个编写基于注解或基于映射文件的CRUD耗时长且容易出错,重复这种操作对个人的能力提升也没有帮助,使用Mybatis Generator不仅可以保证基本CRUD的编写准确,还能节省大量的编码时间,是一个值得推荐使用的生成代码的方法

MyBatis Generator (MBG) 是一个Mybatis的代码生成器,它可以帮助我们根据数据库中表的设计生成对应的xml Mapper文件,接口以及实体类(也就是我们可以借助该类来进行简单的CRUD操作),这样就避免了我们每使用到一张表的数据就需要手动去创建对应的类和xml文件,这就帮我们节约了大量的时间去开发和业务逻辑有关的功能,但是如果对联合查询和存储过程我们仍然需要手写SQL和对象。下面我主要介绍MBG的相关知识点以及操作方法。

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、实体类


命令行生成

3.常见问题

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


4.解决方案

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


5.编码实战

6.扩展思考

7.参考文献

1.官方文档:http://mbg.cndocs.ml/configreference/xmlconfig.html

2.CSDN博客:http://blog.csdn.net/tolcf/article/details/50835165

3.张庆东、韦杰师兄的ppt

8.更多讨论

今天的分享就到这里啦,欢迎大家提问和探讨!