MyBatis-Plus-代码生成器

news/2024/7/7 13:28:17

依赖

<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
        </dependency>

 也要确定你有这两个依赖

 <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

这是原来的配置

package com.star.demo;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
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.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;

/**
 * @author
 * @since 2018/12/13
 */
public class CodeGenerator {

    @Test
    public void run() {

        // 1、创建代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 2、全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");

        gc.setAuthor("testjava");
        gc.setOpen(false); //生成后是否打开资源管理器
        gc.setFileOverride(false); //重新生成时文件是否覆盖
        gc.setServiceName("%sService");	//去掉Service接口的首字母I
        gc.setIdType(IdType.ID_WORKER); //主键策略
        gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
        gc.setSwagger2(true);//开启Swagger2模式

        mpg.setGlobalConfig(gc);

        // 3、数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/guli");
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        dsc.setDbType(DbType.MYSQL);
        mpg.setDataSource(dsc);

        // 4、包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName("edu"); //模块名
        pc.setParent("com.example.demo");
        pc.setController("controller");
        pc.setEntity("entity");
        pc.setService("service");
        pc.setMapper("mapper");
        mpg.setPackageInfo(pc);

        // 5、策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setInclude("edu_teacher");
        strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
        strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀

        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
        strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作

        strategy.setRestControllerStyle(true); //restful api风格控制器
        strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符

        mpg.setStrategy(strategy);


        // 6、执行
        mpg.execute();
    }
}

将其放到test下的一个包下

 需要对其修改一下

package com.star.demo;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
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.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;

/**
 * @author
 * @since 2018/12/13
 */
public class CodeGenerator {

    @Test
    public void run() {

        // 1、创建代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 2、全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
//      gc.setOutputDir(projectPath + "/src/main/java");
        //这用的是相对路径,容易出现问题,建议改为绝对路径
        //需要改的地方:1.路径
        gc.setOutputDir("E:\\workspace\\star_parent\\service\\service_edu" + "/src/main/java");
        //E:\workspace\star_parent\service\service_edu
        gc.setAuthor("testjava");
        gc.setOpen(false); //生成后是否打开资源管理器
        gc.setFileOverride(false); //重新生成时文件是否覆盖
        gc.setServiceName("%sService");	//去掉Service接口的首字母I
        //需要改的地方:2.根据实际需要修改主键策略,
        gc.setIdType(IdType.ID_WORKER); //主键策略
        gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
        gc.setSwagger2(true);//开启Swagger2模式

        mpg.setGlobalConfig(gc);

        // 3、数据源配置
        //需要改的地方:3.改为你的数据库
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("abc123");
        dsc.setDbType(DbType.MYSQL);
        mpg.setDataSource(dsc);

        // 4、包配置
        //需要改的地方:4.改为你实体的包
        PackageConfig pc = new PackageConfig();
        //包 com.star.eduservice
        pc.setModuleName("eduservice"); //模块名
        pc.setParent("com.star");
        //包 com.star.eduservice.controller
        pc.setController("controller");
        pc.setEntity("entity");
        pc.setService("service");
        pc.setMapper("mapper");
        mpg.setPackageInfo(pc);

        // 5、策略配置
        StrategyConfig strategy = new StrategyConfig();
        ///需要改的地方:5.表名称:改为你需要生成的表
        strategy.setInclude("edu_teacher");

        strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
        strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀

        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
        strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作

        strategy.setRestControllerStyle(true); //restful api风格控制器
        strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符

        mpg.setStrategy(strategy);


        // 6、执行
        mpg.execute();
    }
}

点击运行

运行成功

 


http://www.niftyadmin.cn/n/3659424.html

相关文章

vue-admin-template框架

我导了好几次依赖都不行,试过用cnpm,淘宝镜像,最后还是用npm install 导入依赖 npm install运行 npm run dev 解析 前端框架入口:index.html src/main.js 系统登录默认使用这个地址,但这地址的服务器有点问题 https://easy-mock.com/mock/5950a2419adc231f356a663…

所有技术译者必读——技术图书译文校对方法指南

技术图书译文校对方法指南您一定不希望自己的稿件从出版社退回来反复修改而感到难受吧&#xff1f;事实上&#xff0c;很多书籍的质量问题&#xff0c;都归咎于译者没有运用正确的方法 来可靠地保证质量&#xff08;这与译者态度是两回事&#xff0c;即使态度最好&#xff0c;不…

软件工程-可行性研究

可行性研究 内容 经济可行性,技术可行性,操作可行性,法律可行性 步骤: 1.确定系统规模和目标 分析员访问关键人员,仔细阅读和分析有关的材料&#xff0c;以便改正含糊或不正确的叙述&#xff0c;清晰的描述对目标系统的一切限制和约束。 2.研究目前正在使用的系统 1…

vue-admin-template框架-登录功能

它默认请求登录的地址无法登录 改为http://localhost:8001 进行登录调用两个方法,login登录操作方法,和info登录之后获取用户信息的方法.所以,创建两个方法实现登录 1)login 返回token值 2)info 返回roles name avatar 接口 RestController RequestMapping("/eduservice…

Spring Security权限框架

Spring Security主要包含 1)用户认证:用户登录时候,输入用户名和密码,查询数据库,输入的用户名和密码是否正确,如果正确的话,认证成功了 2)用户授权:登录了系统,登录用户可能是不同的角色,比如现在登录的用户是管理员,管理员操作所有功能,比如登录用户是普通用户,操作功能就少点…

MyBatis-Plus学习笔记1-入门

mp(MyBatis-Plus)是什么 Mybatis-Plus(简称MP)是一个Mybtis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发,提高效率而生,能快速地进行CRUD操作. 官网:https://mp.baomidou.com/ mp入门 1.创建数据库,创建数据库表,添加数据,用于mp操作 创建用户表 DROP TABLE …

纳新通告

由于汉飞扬团队承接的业务不断增加&#xff0c;急需新的力量加入&#xff0c;壮大我们的团队。我们现在承接的业务有几种类型&#xff1a;1 .net framework 3.0开发项目2 微软开发项目3 Myspace项目4 其他公司的项目如果您有意加入我们团队&#xff0c;且满足以下几点&#xff…

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序(DCProject无法保存问题)

报错: 有个小问题 需要下载这个组件,不然保存不了 下载对应组件安装&#xff1a;https://www.microsoft.com/zh-CN/download/details.aspx?id13255注意&#xff1a;选的是AccessDatabaseEngine.exe