当前位置:   article > 正文

mybatis-plus自动生成工具_mybatis-plus-generator-ui

mybatis-plus-generator-ui

学了一下mybatis-plus,整体上比mybatis简化很多,也方便很多,懒人福利,哈哈,记录一下代码生成的代码,以后就用它了!
方式一:通过mybatis-plus-generator
引入依赖:

<dependency>
 <groupId>com.baomidou</groupId>
 <artifactId>mybatis-plusgenerator</artifactId>
 <version>3.3.1.tmp</version>
</dependency> <dependency>
 <groupId>org.apache.velocity</groupId>
 <artifactId>velocity</artifactId>
 <version>1.7</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

然后创建main方法配置相应参数直接运行就出来了,其中的一些参数可以按自己需求更改

public class AutoGeneratorService{
 public static void main(String[] args) {
 //创建generator对象
 AutoGenerator autoGenerator = newAutoGenerator();
 //数据源
 DataSourceConfig dataSourceConfig =new DataSourceConfig(); 
 dataSourceConfig.setDbType(DbType.MYSQL); 
 dataSourceConfig.setUrl("jdbc:mysql://ip:3306/db?useUnicode=true&characterEncoding=UTF-8");
 dataSourceConfig.setUsername("root");
 dataSourceConfig.setPassword("root");
 dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
 autoGenerator.setDataSource(dataSourceConfig);
 //全局配置
 GlobalConfig globalConfig = newGlobalConfig();
 //输出到那个目录
 globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");
 //生成之后是否打开文件夹
 globalConfig.setOpen(false);
 globalConfig.setAuthor("zheyi");
 //生成service会自动service前面会自动带一个‘I’,不需要的话可以这样设置
 globalConfig.setServiceName("%sService");
 autoGenerator.setGlobalConfig(globalConfig);
 //包信息
 PackageConfig packageConfig = newPackageConfig();
 packageConfig.setParent("com.zheyi.mybatisplus");
 packageConfig.setModuleName("generator");
 packageConfig.setController("controller");
 packageConfig.setService("service");
 packageConfig.setServiceImpl("service.impl");
 packageConfig.setMapper("mapper");
 packageConfig.setEntity("entity");
 autoGenerator.setPackageInfo(packageConfig);
 //配置策略
 StrategyConfig strategyConfig = newStrategyConfig();
 strategyConfig.setEntityLombokModel(true); 
 //设置驼峰命名,可以自动将数据库中的下划线方式转换成驼峰的形式,如user_name--->userName
 strategyConfig.setNaming(NamingStrategy.underline_to_camel);
 strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
 autoGenerator.setStrategy(strategyConfig);
 
 autoGenerator.execute();
 }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

方式二:通过mybatis-plus-generator-ui
引入依赖:

        <dependency>
            <groupId>com.github.davidfantasy</groupId>
            <artifactId>mybatis-plus-generator-ui</artifactId>
            <version>1.4.5</version>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

配置数据库转换

public class MySqlTypeConvertEx extends MySqlTypeConvert {
    @Override
    public IColumnType processTypeConvert(GlobalConfig config, String fieldType) {
        return TypeConvertsEx.use(fieldType)
                .test(TypeConvertsEx.containsAny("char", "text", "json", "enum").then(STRING))
                .test(TypeConvertsEx.contains("bigint").then(LONG))
                .test(TypeConvertsEx.containsAny("tinyint", "bit").then(BYTE)).test(TypeConvertsEx.containsAny("tinyint(1)", "bit").then(BYTE))
                .test(TypeConvertsEx.contains("int").then(INTEGER))
                .test(TypeConvertsEx.contains("decimal").then(BIG_DECIMAL))
                .test(TypeConvertsEx.contains("clob").then(CLOB))
                .test(TypeConvertsEx.contains("blob").then(BLOB))
                .test(TypeConvertsEx.contains("binary").then(BYTE_ARRAY))
                .test(TypeConvertsEx.contains("float").then(FLOAT))
                .test(TypeConvertsEx.contains("double").then(DOUBLE))
                .test(TypeConvertsEx.containsAny("date", "time", "year").then(t -> toDateType(config, t)))
                .or(STRING);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

然后创建main方法配置参数直接执行:

public class GeberatorUIServer {
    public static void main(String[] args) {
        GeneratorConfig config = GeneratorConfig.builder().jdbcUrl("jdbc:mysql://127.0.0.1:3306/db")
                .userName("root")
                .password("root")
                .driverClassName("com.mysql.cj.jdbc.Driver")
                //数据库schema,POSTGRE_SQL,ORACLE,DB2类型的数据库需要指定
                .schemaName("myBusiness")
                //如果需要修改各类生成文件的默认命名规则,可自定义一个NameConverter实例,覆盖相应的名称转换方法:
                .nameConverter(new NameConverter() {
                    /**
                     * 自定义Service类文件的名称规则
                     */
                    @Override
                    public String serviceNameConvert(String tableName) {
                        return this.entityNameConvert(tableName) + "Service";
                    }
                    /**
                     * 自定义Controller类文件的名称规则
                     */
                    @Override
                    public String controllerNameConvert(String tableName) {
                        return this.entityNameConvert(tableName) + "Controller";
                    }
                }).typeConvert(new MySqlTypeConvertEx())
                .basePackage("com.zheyi.admin.business")
                .port(8888)
                .build();
        MybatisPlusToolsApplication.run(config);
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/231112
推荐阅读
相关标签
  

闽ICP备14008679号