mybatis逆向工程使用方法与步骤

mybatis的逆向工程可以由代码生成器生成我们需要的代码和映射文件,即由数据库表生成java代码

# 逆向工程建立步骤

MyBatis Generator官方文档:http://mybatis.org/generator/quickstart.html

1.在maven工程中,使用逆向工程需要先引入pom依赖,

```xml
<dependency>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-core</artifactId>
  <version>1.4.0</version>
</dependency>
```

2.之后在父工程根目录下创建其配置文件(mbg.xml),在这里之前要先创建好自己的数据库和数据表

```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>

    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!--该语句表示不要注解-->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="自己数据库的url"
                        userId="自己数据库的用户名"
                        password="自己数据库的密码">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!--指定javaBean生成的位置-->
        <javaModelGenerator targetPackage="com.hao.bean" targetProject="D:\IDEA_JAVA练习\jh012-SSM整合项目\CRUD\src\main\java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!--指定映射文件生成的位置-->
        <sqlMapGenerator targetPackage="mapper"  targetProject="D:\IDEA_JAVA练习\jh012-SSM整合项目\CRUD\src\main\resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!--指定dao接口生成的位置,mapper接口-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.hao.dao"  targetProject="D:\IDEA_JAVA练习\jh012-SSM整合项目\CRUD\src\main\java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!--table指定每个表的生成策略,我这里的数据库里面的两个表分别为emp和dept表-->
        <table tableName="emp" domainObjectName="Employee"></table>
        <table tableName="dept" domainObjectName="Department"></table>
    </context>
</generatorConfiguration>
```

3.最后生成代码,运行该类主方法后就会生成与数据库相关的代码

```java
public class MBGTest {
    public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("D:\\IDEA_JAVA练习\\jh012-SSM整合项目\\CRUD\\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);
    }
}
```

posted @ 2021-11-26 08:52  AMHAO  阅读(444)  评论(0编辑  收藏  举报