前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mybatis_plus代码生成器

mybatis_plus代码生成器

作者头像
暴躁的程序猿
发布2022-03-23 16:53:54
3200
发布2022-03-23 16:53:54
举报

使用mybatis_plus代码生成器 需要导入包

代码生成器依赖

代码语言:javascript
复制
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.1</version>
</dependency>

引擎模板依赖

代码语言:javascript
复制
 <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>

使用时只需要把 strategy.setInclude(“user”); user 换成自己的表名

代码语言:javascript
复制
/**
 * 代码自动生成器
 * @create: 2021/7/24
 * @author: Tony Stark
 */
public class FeiCode {
    public static void main(String[] args) {
        //需要构建一个   代码生成器对象
        AutoGenerator autoGenerator = new AutoGenerator();
        //全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        //当前项目路径
        String property = System.getProperty("user.dir");
        //代码生成的地方
        globalConfig.setOutputDir(property+"/src/main/java");
        //作者
        globalConfig.setAuthor("阿飞");
        //是否打开资源管理器
        globalConfig.setOpen(false);
        //是否覆盖
        globalConfig.setFileOverride(false);
        //去service的I前缀
        globalConfig.setServiceName("%sService");
        //主键类型
        globalConfig.setIdType(IdType.ID_WORKER);
        //日期类型
        globalConfig.setDateType(DateType.ONLY_DATE);
        //设置swagger文档
        globalConfig.setSwagger2(true);
        //配置放进自动生成器中
        autoGenerator.setGlobalConfig(globalConfig);

        //设置数据源
        DataSourceConfig config = new DataSourceConfig();
        config.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf8&userSSL=true");
        config.setDriverName("com.mysql.jdbc.Driver");
        config.setUsername("root");
        config.setPassword("12345");
        config.setDbType(DbType.MYSQL);
        autoGenerator.setDataSource(config);
        //配置包
        PackageConfig packageConfig = new PackageConfig();
        //实体包名
        packageConfig.setEntity("pojo");
        //controller包名
        packageConfig.setController("controller");
        //service包名
        packageConfig.setService("service");
        packageConfig.setServiceImpl("serviceImpl");
        //dao接口包名
        packageConfig.setMapper("dao");
        //接口映射xml文件包
        packageConfig.setXml("dao.xml");
        //模块名
        packageConfig.setModuleName("test");
        packageConfig.setParent("com.rpf");
        //设置包的配置
        autoGenerator.setPackageInfo(packageConfig);
        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        //设置要映射的表名
        strategy.setInclude("user");
        //数据库表映射到实体的命名策略  驼峰
        strategy.setNaming(NamingStrategy.underline_to_camel);
        //数据库表字段映射到实体的命名策略, 未指定按照 naming 执行
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
//        strategy.setSuperEntityClass("你自己的父类实体,没有就不用设置!");
        strategy.setEntityLombokModel(true);
        //生成 @RestController 控制器
        strategy.setRestControllerStyle(true);
        //是否生成实体时,生成字段注解
        strategy.entityTableFieldAnnotationEnable(true);
        //加上Lombok注解
        strategy.setEntityLombokModel(true);
        //逻辑删除
        strategy.setLogicDeleteFieldName("deleted");
        //自动填充配置
        TableFill gmt_creat = new TableFill("gmt_creat", FieldFill.INSERT);
        TableFill gmt_modified = new TableFill("gmt_modified", FieldFill.UPDATE);
        ArrayList<TableFill> list = new ArrayList<>();
        list.add(gmt_creat);
        list.add(gmt_modified);
        //设置自动填充配置
        strategy.setTableFillList(list);
        //设置乐观锁
        strategy.setVersionFieldName("version");
        //设置驼峰命名
        strategy.setRestControllerStyle(true);

        //设置策略
        autoGenerator.setStrategy(strategy);
        //执行
        autoGenerator.execute();
    }
}

效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-07-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档