Mybatis逆向工程使用(简单实用赶紧上手)

版权声明:Unruly https://blog.csdn.net/weixin_41660948/article/details/86760187

1. 什么是逆向工程

​ mybatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po…)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。


2. 使用逆向工程

一、使用Jar形式

  1. 导入mysql-connection.jar;
  2. 导入mybatis.genarator.core.jar;

二、使用Maven

<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.2</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.38</version>
</dependency>

三、官方地址

  1. 官方文档地址
  2. 官方工程地址

3. 使用具体步骤

1、新建一个工程(重要)

​ 我们要新建一个java工程,web工程都行,这个工程专门用来使用逆向工程生成代码的。有些人可能会问,为什么要新建一个工程呢?简单来说降低覆盖风险。
在这里插入图片描述

2、生成代码的配置文件

​ 配置文件模板在官方API有,下面为备用的模板;需要用到的时候直接复制即可。

<?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="testTables" targetRuntime="MyBatis3">
      	<!-- 是否去除自动生成的注释 true:是 : false:否 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
      
      	<!-- 
            默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,
            为true时,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal 
         -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
      
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection 
         	driverClass="com.mysql.jdbc.Driver"
         	connectionURL="jdbc:mysql://localhost:3306/mybatis" 
         	userId="root"
         	password="linux">
        </jdbcConnection>

        <!-- targetProject:生成PO类的位置,重要!! -->
        <javaModelGenerator targetPackage="mybatis.po"
            targetProject="工程名\src">
            <property name="enableSubPackages" value="false" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
      
        <!-- targetProject:mapper映射文件生成的位置,重要!! -->
        <sqlMapGenerator targetPackage="mybatis.mapper" 
            targetProject="工程名\src">
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
      
        <!-- targetPackage:mapper接口生成的位置,重要!! -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="mybatis.mapper" 
            targetProject="工程名\src">
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
      
        <!-- 指定数据库表,要生成哪些表,就写哪些表,要和数据库中对应,不能写错! -->
      	...
        <table tableName="items"></table> 
      	...
    </context>
</generatorConfiguration>

​ 配置文件主要完成的事情是:

  1. 连接数据库。
  2. 设置entity实体类、mapper文件、dao接口生成位置。
  3. 指定数据库需要生成的表。

3、执行逆向操作

​ 配置文件搞好了,然后就执行以下生成程序即可生成了,生成的java程序,下载的逆向工程文档中都有示例,如下:

public class GeneratorSqlmap {
    public void generator() throws Exception{
        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);

    } 
    public static void main(String[] args) throws Exception {
        try {
            GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

4、大功告成

猜你喜欢

转载自blog.csdn.net/weixin_41660948/article/details/86760187