Mybtis-plus 自动生成代码

Mybatis-plus 逆向生成类代码。

package com.zdy.mybatisplus;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;

import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;


public class Main {
    //文件生成路径

    private static final String JDBC_URL = "jdbc:mysql://localhost:3306/lou_springboot?" +
            "useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "666666";
    private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver";

    private static final String AUTHOR = "deyou";
    //父包名
    private static final String PARENT_PACKAGE = "com.zdy";
    //自动生成文件路径
    private static final String OUT_PUT_DIR = System.getProperty("user.dir")+"/src/main/java";
    //新建一个包存放新生成的模块类
   //private static final String MODULE_NAME = "";//不写就在父包内生成。
    //自己指定要生成的表
    //private static final String [] table_names = new String[]{"table1,table2,"};
    public static void main(String[] args) {
        //1.
        AutoGenerator autoGenerator = new AutoGenerator();

        //1. 配置数据源
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        //配置数据库类型
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setDriverName(DRIVER_NAME);
        dataSourceConfig.setUrl(JDBC_URL);
        dataSourceConfig.setUsername(USERNAME);
        dataSourceConfig.setPassword(PASSWORD);

        //2. 配置全局代理
        GlobalConfig globalConfig = new GlobalConfig();
        //适用于多对单表进行操作的
        //globalConfig.setActiveRecord(true);
        //设置作者
        globalConfig.setAuthor(AUTHOR);

        //输出路径
        globalConfig.setOutputDir(OUT_PUT_DIR);

        //是否新生成文件覆盖旧文件。
        globalConfig.setFileOverride(false);
        //生成文件是否打开文件目录
        globalConfig.setOpen(false);
        //生成类名格式类名首字母小写加后缀
        globalConfig.setServiceName("%sService");

        //包信息
        PackageConfig packageConfig = new PackageConfig();
        //设置父包
        packageConfig.setParent(PARENT_PACKAGE);
        //新建一个包存放所有新生成的文件。
        //packageConfig.setModuleName("test");

        //配置策略
        StrategyConfig strategyConfig = new StrategyConfig();
        //生成lombok 类
        strategyConfig.setEntityLombokModel(true);
        //指定那个表生成文件
       // strategyConfig.setInclude(table_names);
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);

        autoGenerator.setPackageInfo(packageConfig);
        autoGenerator.setDataSource(dataSourceConfig);
        autoGenerator.setGlobalConfig(globalConfig);
        autoGenerator.setStrategy(strategyConfig);
        autoGenerator.execute();
    }
}

后续问题

  • 注意生成的xml 会出现在Java 包下,在XML 文件内自定义方法,无法使用。解决办法
  • 一种是把自动生成的xml 文件放入。resources 文件下。并在yaml 文件配置mybatis 路径。
  • 如果引用mybatis-plus-boot-starter 依赖,需要配置 mybatis-plus.mapper-locations
  • 如果引用mybatis-plus 依赖,需要配置 mybatis.mapper-locations

还有一种办法是在pom 文件中
添加如下代码

<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

数据库有表
所需依赖

 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
        <!-- 逆向生成代码-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.7</version>
        </dependency>
     
     ```

      
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页