关于Mac配置逆向工程

除了有关路径的写法不同,其余一致

Mac:src/main/java

Windows:src\main\java

1.jar包导入

plugin自行放入即可

XML 复制代码
        <!--逆向工程-->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>

            <!-- 逆向工程 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.20</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <!--配置文件的路径-->
                    <configurationFile>
                        src/main/resources/generatorConfig.xml
                    </configurationFile>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>

2.generatorConfig.xml

路径为:src//main//resources//generatorConfig.xml

和application.yml路径一致

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="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test" userId="root"
                        password="12345678">
        </jdbcConnection>
        <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
           connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
           userId="yycg"
           password="yycg">
        </jdbcConnection> -->

        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
           NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 注意生成的路径
              Mac:./src/main/java
              window:.\src\main\java
          -->

        <!-- targetProject:生成PO类的位置 -->
        <javaModelGenerator targetPackage="com.func.pojo"
                            targetProject="./src/main/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="com.func"
                         targetProject="./src/main/resources/mappers">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.func.mapper"
                             targetProject="./src/main/java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定数据库表 -->
        <!--   <table schema="" tableName="sys_user"></table>
                  <table schema="" tableName="orders"></table> -->
        <table schema="" tableName="user_info"></table>
<!--        <table schema="" tableName="tb_content_category"></table>-->
<!--        <table schema="" tableName="tb_item"></table>-->
<!--        <table schema="" tableName="tb_item_cat"></table>-->
<!--        <table schema="" tableName="tb_item_desc"></table>-->
<!--        <table schema="" tableName="tb_item_param"></table>-->
<!--        <table schema="" tableName="tb_item_param_item"></table>-->
<!--        <table schema="" tableName="tb_order"></table>-->
<!--        <table schema="" tableName="tb_order_item"></table>-->
<!--        <table schema="" tableName="tb_order_shipping"></table>-->
<!--        <table schema="" tableName="tb_user"></table>-->

        <!-- 有些表的字段需要指定java类型
         <table schema="" tableName="sys_user">
           <columnOverride column="user_id" javaType="Long" />
        </table> -->
    </context>
</generatorConfiguration>

3.创建一个工具类GeneratorUtil

java 复制代码
package com.func.util;

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;

public class GeneratorUtil {
    public static void main(String[] args) throws Exception {
        //mac用//,window用\\
        File f = new File("src//main//resources//generatorConfig.xml");
        List<String> warnings = new ArrayList<String>();
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(f);
        DefaultShellCallback callBack = new DefaultShellCallback(true);
        MyBatisGenerator generator = new MyBatisGenerator(config, callBack, warnings);
        generator.generate(null);
    }
}

在XML里写好表名,执行该类即可

相关推荐
考虑考虑15 分钟前
Jpa使用union all
java·spring boot·后端
用户37215742613537 分钟前
Java 实现 Excel 与 TXT 文本高效互转
java
浮游本尊2 小时前
Java学习第22天 - 云原生与容器化
java
渣哥3 小时前
原来 Java 里线程安全集合有这么多种
java
间彧4 小时前
Spring Boot集成Spring Security完整指南
java
间彧4 小时前
Spring Secutiy基本原理及工作流程
java
Java水解5 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆7 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学7 小时前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole8 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端