博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM 实战项目①丨图书管理系统 丨(2) Mybatis Generator 的基本使用
阅读量:2829 次
发布时间:2019-05-14

本文共 3206 字,大约阅读时间需要 10 分钟。

mbg

本篇隶属于《SSM 实战项目①丨图书管理系统 》

详情请见:


1. MyBatis Generator 简单介绍

MyBatis Generator 其实就是 Mybatis 提供的代码生成器,我们可以通过配置,利用它来生成 bean(实体类)、dao(数据访问接口)、mapper(数据访问接口的映射文件)。MBG 会为我们写好基础的 CRUD 接口和映射文件,减轻了我们设置对象和配置文件以及与数据库表进行交互的麻烦。

2. 官网

像如何快速上手,MBG 的基本使用等说明,官网都可以很轻松的查阅到。

3. 不同 targetRuntime 生成的代码样式说明

image-20200606104644673

MyBatis Generator(MBG)根据其配置方式生成不同样式的代码。这是通过在<context>配置元素上指定targetRuntime属性来控制的。

不同的 targetRuntime 生成的代码样式区别如下:

[1] MyBatis3DynamicSql

这是默认值

  • 生成Java代码
  • 不生成XML-MyBatis3批注仅用于
  • 生成的模型对象是“平面”的-没有单独的主键对象
  • 生成的代码取决于MyBatis动态SQL库。
  • 生成的代码量相对较小
  • 生成的代码为查询构造提供了极大的灵活性

样本配置:

<!DOCTYPE generatorConfiguration PUBLIC “-// mybatis.org//DTD MyBatis Generator配置1.0 // EN” “ http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd”>
[2] MyBatis3Kotlin
  • 生成Kotlin代码
  • 不生成XML-MyBatis3批注仅用于
  • 生成的模型对象是“平面”的-没有单独的主键对象
  • 生成的代码取决于MyBatis动态SQL库。
  • 生成的代码量相对较小
  • 生成的代码为查询构造提供了极大的灵活性

样本配置:

<!DOCTYPE generatorConfiguration PUBLIC “-// mybatis.org//DTD MyBatis Generator配置1.0 // EN” “ http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd”>
[3] MyBatis3

这是原始的 targetRuntime。在MBG 1.3.6版之前,MBG的大多数用法都使用这种样式的代码。

  • 生成Java代码
  • 生成不具有XML的MyBatis3兼容XML和SQL或MyBatis3兼容的带注释接口
  • 生成的模型对象可能具有一个层次结构,其中包含单独的主键对象和/或带有BLOB字段的单独对象
  • 生成的代码没有外部依赖关系
  • 生成的代码量非常大
  • 生成的代码具有有限的查询构造功能,并且难以扩展
<!DOCTYPE generatorConfiguration PUBLIC “-// mybatis.org//DTD MyBatis Generator配置1.0 // EN” “ http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd”>
[4] MyBatis3Simple

这是MyBatis3运行时的简化版本。

  • 生成Java代码
  • 生成不具有XML的MyBatis3兼容XML和SQL或MyBatis3兼容的带注释接口
  • 生成的模型对象是“平面”的-没有单独的主键对象
  • 生成的代码没有外部依赖关系
  • 生成的代码量相对较小
  • 没有生成“示例”或“选择性”方法
  • 生成的代码不包含用于动态查询构造的方法,并且很难扩展

样本配置:

<!DOCTYPE generatorConfiguration PUBLIC “-// mybatis.org//DTD MyBatis Generator配置1.0 // EN” “ http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd”>

4. 基本配置[可直接复制使用]

image-20200606105502386

我们可以直接使用官网提供的这个进行修改,下面笔者展示自己修改后的配置文件:

5. 运行 MBG 生成相关文件

注意在此之前请先建立好数据库和相关的表!

image-20200606110111442

  • 笔者环境如下:

image-20200606110536885

  • 代码:
@Testpublic void test() throws Exception{
List
warnings = new ArrayList
(); boolean overwrite = true; File configFile = new File("mbg.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null);}
  • 运行结果:

image-20200606110825352

这样就运行成功了,读者可能会遇到运行成功但是没有对应文件生成的 bug,可以参考下面的文章:

6. 更高级使用

以上就是 MBG 的基本使用方法。

但是 Mybatis Generator 自动生成的部分只能完成”单表操作“,如果我们希望进行多表联合查询等操作的时候,需要自己手写修改 bean、dao 和 mapper 文件。

如何对 MBG 进行扩展,使其能够支持多表联合操作,可以参考下面的文章:


有纰漏之处,还望不吝指出~


转载地址:http://rmded.baihongyu.com/

你可能感兴趣的文章
Python中的"-> "
查看>>
机器学习技术概览(xmind图)
查看>>
Centos 查看端口是否开放的三种方式
查看>>
spring mvc log日志由log4j桥接至log4j2
查看>>
hostname的作用以及更改hostname方式
查看>>
网页置灰css
查看>>
Spring boot连接mysql时,The server time zone value 'EDT' is unrecognized 异常
查看>>
中文分词评测方法
查看>>
python基础
查看>>
双数组树过程理解(Double-arrayTrie)
查看>>
virtualenv做python环境隔离
查看>>
virtualenv做python环境隔离
查看>>
本地上传jar包到maven仓库
查看>>
Docker网络 EXPOSE -P -p之间的区别与联系
查看>>
bootstrap中,使用Pagination处理前后端分页
查看>>
CentOS7 安装Mysql5.7,并远程登陆
查看>>
Spring、SpingMVC、MyBatis框架搭建中配置文件
查看>>
tomcat中server.xml配置文件详解
查看>>
前端页面中使用Spectrum 绘制调色板
查看>>
使用css修改input框中checkbox的样式
查看>>