Mybatis---逆向工程

MyBatis 逆向工程是 MyBatis 提供的一个自动生成 MyBatis 映射文件的工具,可以通过逆向工程生成对应的实体类、Mapper 接口和映射文件。

mybatis逆向工程的官网:MyBatis Generator Core – Introduction to MyBatis Generator

创建逆向工程的过程

两种方式实现:

  • 使用代码实现

  • 使用插件方式实现

一、使用代码实现

1、创建db.properties配置文件,用于连接数据库的外部数据

datasource.username=root
datasource.password=123456
datasource.driver=com.mysql.cj.jdbc.Driver
datasource.url=jdbc:mysql://localhost:3306/mybatis

2、创建generatorConfig.xml配置文件,进行逆向工程的配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC
        "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <properties resource="db.properties"></properties>
    <context id="mysql" targetRuntime="MyBatis3Simple">
        <!--插件-->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin>
        <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"></plugin>

        <!--覆盖原来的映射文件中的内容-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"></plugin>
        <!--取消默认的注释-->
        <commentGenerator>
            <!--阻止生成注释-->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>


        <!--连接数据库-->
        <jdbcConnection driverClass="${datasource.driver}"
                        connectionURL="${datasource.url}"
                        userId="${datasource.username}"
                        password="${datasource.password}"></jdbcConnection>
        <!--表字段类型和实体类中属性类型转换-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="true"/>
        </javaTypeResolver>
        <!--生成实体类-->
        <javaModelGenerator targetPackage="com.example.model"
                            targetProject="src/main/java">
        </javaModelGenerator>
        <!--生成映射文件-->
        <sqlMapGenerator targetPackage="com.example.mapper"
                         targetProject="src/main/resources">

        </sqlMapGenerator>
        <!--生成接口-->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.example.mapper"
                             targetProject="src/main/java">

        </javaClientGenerator>


        <!--生成数据库表-->
        <table tableName="person" domainObjectName="Person"></table>

    </context>


</generatorConfiguration>

3、在官网中复制代码并运行,从而通过逆向工程生成代码

  List<String> warnings = new ArrayList<String>();
   boolean overwrite = true;
   File configFile = new File("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);

    </context>


</generatorConfiguration>
二、使用插件方式实现

1、在项目中的pom.xml中加入插件

<build>
    <plugins>
      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.4.2</version>
        <configuration>
          <verbose>true</verbose>
          <overwrite>true</overwrite>
          <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.4.2</version>
          </dependency>
          <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.1.0</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build></build>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值