Mybatis-plus-generator-ui使用

使用 Mybatis-plus-generator-ui 快速生成代码

Mybatis-plus-generator-ui 是一个基于 Mybatis-plus-generator 的可视化代码生成工具,提供了可视化的 UI 以及各种个性化的配置,同时还可以自定义代码生成模板并为模板传参。

项目地址:https://github.com/davidfantasy/mybatis-plus-generator-ui

使用方法

运行

  1. 引入 maven 依赖

    
    <dependency>
        <groupId>com.github.davidfantasy</groupId>
        <artifactId>mybatis-plus-generator-ui</artifactId>
        <version>2.0.5</version>
        <scope>test</scope>
    </dependency>
    
  2. 在 test 目录下创建启动类

    public class GeberatorUIServer {
    
        public static void main(String[] args) {
            GeneratorConfig config = GeneratorConfig.builder().jdbcUrl("jdbc:mysql://localhost:3306/example")
                    .userName("root")
                    .password("root")
                    .driverClassName("com.mysql.cj.jdbc.Driver")
                    //数据库schema,MSSQL,PGSQL,ORACLE,DB2类型的数据库需要指定
                    .schemaName("myBusiness")
                    //数据库表前缀,生成entity名称时会去掉(v2.0.3新增)
                    .tablePrefix("t_")
                    //如果需要修改entity及其属性的命名规则,以及自定义各类生成文件的命名规则,可自定义一个NameConverter实例,覆盖相应的名称转换方法,详细可查看该接口的说明:                
                    .nameConverter(new NameConverter() {
                        /**
                         * 自定义Service类文件的名称规则,entityName是NameConverter.entityNameConvert处理表名后的返回结果,如有特别的需求可以自定义实现
                         */
                        @Override
                        public String serviceNameConvert(String entityName) {
                            return entityName + "Service";
                        }
    
                        /**
                         * 自定义Controller类文件的名称规则
                         */
                        @Override
                        public String controllerNameConvert(String entityName) {
                            return entityName + "Action";
                        }
                    })
                    //所有生成的java文件的父包名,后续也可单独在界面上设置
                    .basePackage("com.github.davidfantasy.mybatisplustools.example")
                    .port(8068)
                    .build();
            MybatisPlusToolsApplication.run(config);
        }
    }
    
  3. 运行启动类,并访问 localhost:8068 即可进入代码生成器的管理界面

配置

选择如下界面,可以看到各个文件的配置,点击“文件模板” 链接可以下载生成模板,点击操作按钮可以进行配置。
请添加图片描述

请添加图片描述

请添加图片描述

配置好之后,点击保存,选择 Table查询
请添加图片描述

选择需要生成的数据表,点击代码生成即可。

请添加图片描述
请添加图片描述

注意: 文件生成后的包完成路径为 图中目标项目根目录 + 启动类中的 basePackage 的值 + 图中的功能模块名

更改模板

点击 “输出配置”-> “操作”,点击选取文件,上传改好的模板即可。

所有配置和上传的代码模板都会存到 user.home 目录下的 .mybatis-plus-generator-ui 中, 不同的项目配置文件不会相互影响。
请添加图片描述

More

在团队合作开发的时候,往往会写好 BaseEntity, 每个表也都有固定的公共字段,但是每个人想要生成代码的时候都需要重新修改代码模板,改配置,非常麻烦。

解决办法

  1. 下载所有文件的模板

  2. 在代码生成器的项目中新建 src/main/resources/codetpls 目录, 把刚刚下载好的模板塞到这里,文件生成时,如果没有上传代码模板,会优先从这里找模板。

    请添加图片描述

  3. 把这些模板添加到 git 仓库,就可以共享代码模板了

给代码模板传参

添加如下代码

 GeneratorConfig config=GeneratorConfig.builder()
        .templateVaribleInjecter(new TemplateVaribleInjecter(){
			@Override
			public Map<String, Object> getCustomTemplateVaribles(TableInfo tableInfo){
        		Map<String, Object> params=new HashMap<>();
    			params.put("test", "test");
                Set<String> set = new HashSet<>();
                set.add("1");
                params.put("set", set);
        		return params;
        	}
        })

在模板代码中使用

<%${cfg.test}%>

<%var set=cfg.set;%>

<%@set.contains("1")%>

该项目使用的是 beetl 模板,具体语法参考官网。

中使用

<%${cfg.test}%>

<%var set=cfg.set;%>

<%@set.contains("1")%>

该项目使用的是 beetl 模板,具体语法参考官网。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斜晖丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值