【MyBatis】学习纪要十一:逆向工程

写在前面的话

前面学习MyBatis的运行原理,刚学完,回头想想还是非常复杂的,也因为之前没有这样去分析过源码,所以这一节算是卡住了,可能会花一定的时间,为了不卡住学习进度,所以我们继续学习,后面再写插件。

Introduction to MyBatis Generator

1、我首先告诉你官方网站地址:MyBatis Generator

2、前面在写测试的时候,就发现了这个问题,要写 daomodelmpper ,这在写项目的时候显得是非痛苦,那怎么解决这个问题呢?——答案就是: mybatis generator

3、从第2点就知道了,MyBatis generator的主要作用就是创建 daomodelmpper

Quick Start Guide

1、添加依赖

        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator</artifactId>
            <version>1.3.6</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.6</version>
        </dependency>

2、编写 generatorConfig.xml

为了顺利完成这个文件的编写,我们参考官网的 XML Configuration Reference 部分进行编写。

另外建议通过搜索引擎编写的更加完美,或者自己想要的。

3、目录

目录.png

(因为我用了git,所以红色的不是错误)

4、Running MyBatis Generator

在这里 Running MyBatis Generator ,你可以找到各种运行方式。

如果你是通过搜索引擎的话,可能会找到类似这样的命令

java -jar mybatis-generator-core-x.x.x.jar -configfile \temp\generatorConfig.xml -overwrite

如果你是看开源项目的话,你会在pom.xml看到以下代码:

   <project ...>
     ...
     <build>
       ...
       <plugins>
        ...
        <plugin>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-maven-plugin</artifactId>
          <version>1.3.5</version>
          <executions>
            <execution>
              <id>Generate MyBatis Artifacts</id>
              <goals>
                <goal>generate</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        ...
      </plugins>
      ...
    </build>
    ...
  </project>

不论哪种,你都可以在官网找到用法说明。

那么我们怎么用呢?

package com.fengwenyi.demo.mybatis.generatorconfig;

import org.junit.Test;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Wenyi Feng
 */
public class RunGenerator {

    @Test
    public void test () {
        try {
            List<String> warnings = new ArrayList<String>();
            boolean overwrite = true;
            File configFile = new File("src/main/resources/generatorConfig.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);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

我们来看一下效果:

run位置.png

run-generator.png

new-目录.png

我们来尝试一下

1、扫描dao,两种解决方法,扫描dao下所有的mapper接口,或者扫描指定的接口。

2、编写测试代码:

@Autowired
private CityMapper cityMapper;

@Test
public void testCity () {
    List<City> cities = cityMapper.selectByExample(null);
    for (City city : cities)
        System.out.println(city);
}

看下测试结果:

测试结果.png

到这里就差不多了,写点后记

后记

1、你可以参考本节代码(generator-config),就会很方便的生成你要相关文件和代码。

2、如果你在前面的MyBatis的基础部分(例如 Dynamic SQL ),你可以参考 Mapper.xml 文件进行学习。

资料

1、generator

2、 MyBatis Generator

3、本节测试代码: generator-config

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冯文议

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值