博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis plus 的代码生成器
阅读量:5079 次
发布时间:2019-06-12

本文共 5788 字,大约阅读时间需要 19 分钟。

1 package com.raise3d.MyGenerator;  2   3 import com.baomidou.mybatisplus.annotation.DbType;  4 import com.baomidou.mybatisplus.annotation.IdType;  5 import com.baomidou.mybatisplus.generator.AutoGenerator;  6 import com.baomidou.mybatisplus.generator.config.DataSourceConfig;  7 import com.baomidou.mybatisplus.generator.config.GlobalConfig;  8 import com.baomidou.mybatisplus.generator.config.PackageConfig;  9 import com.baomidou.mybatisplus.generator.config.StrategyConfig; 10 import com.baomidou.mybatisplus.generator.config.rules.DateType; 11 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; 12  13 /** 14  * 代码生成器工具类(测试) 15  * 16  * 3.x生成的代码中,不含@TableField("name") 17  * 官方人员的说法是: 18  * @miemie 【成员】 19  * 根据规则生成的entity不再会出现多余的注解 20  * 21  * @author Wenyi Feng 22  * @since 2018-08-31 23  */ 24 public class Utils { 25  26     /** 27      * 执行生成代码 28      */ 29     public static void generateCode() { 30         String packageName = "com.raise3d"; 31         //generateByTables(packageName, "t_student", "t_city", "t_idcard"); 32         generateByTables(packageName, null); 33     } 34  35     private static void generateByTables(String packageName, String... tableNames) { 36  37         // 数据库信息 38 //        String dbUrl = "jdbc:mysql://localhost:3306/mybatis-plus?useSSL=true"; 39         String dbUrl = "jdbc:mysql://192.168.0.28:3306/cloud_msg"; 40         DataSourceConfig dataSourceConfig = new DataSourceConfig() 41                 .setDbType(DbType.MYSQL) 42                 .setUrl(dbUrl) 43                 .setUsername("root") 44 //                .setPassword("xfsy2017") 45                 .setPassword("fuzhi001") 46                 .setDriverName("com.mysql.jdbc.Driver") // mysql 5 47 //                .setDriverName("com.mysql.cj.jdbc.Driver") // mysql 8 48                 /*.setTypeConvert(new MySqlTypeConvert() { 49                     @Override 50                     public PropertyInfo processTypeConvert(GlobalConfig globalConfig, String fieldType) { 51                         //..... 52                         // 当发现生成的类型并不能满足你的要求时,可以去这里看,然后重写 53                     } 54                 })*/ 55                 ; 56  57         // 配置 58         GlobalConfig config = new GlobalConfig() 59                 .setActiveRecord(false) 60                 .setAuthor("Logen.Wang") 61 //                .setOutputDir("/Users/fengwenyi/Workspace/file/codeGen") 62                 .setOutputDir("d:/codeGen") 63                 .setFileOverride(true) 64                 .setActiveRecord(true)// 不需要ActiveRecord特性的请改为false 65                 .setEnableCache(false)// XML 二级缓存 66                 .setBaseResultMap(false)// XML ResultMap 67                 .setBaseColumnList(true)// XML columList 68                 .setKotlin(false) //是否生成 kotlin 代码 69                 // 自定义文件命名,注意 %s 会自动填充表实体属性! 70                 .setMapperName("%sDao") 71                 .setXmlName("%sMapper") 72                 .setServiceName("%sService") 73                 .setServiceImplName("%sServiceImpl") 74                 .setControllerName("%sController") 75                 .setDateType(DateType.ONLY_DATE) //只使用 java.util.date 代替 76                 .setIdType(IdType.ID_WORKER) 77                 .setSwagger2(false) // model swagger2 78                 //.setOpen(true) // 是否打开输出目录 79                 ; 80 //                if (!serviceNameStartWithI) 81 //                    config.setServiceName("%sService"); 82  83  84         StrategyConfig strategyConfig = new StrategyConfig() 85                 .setCapitalMode(true) // 全局大写命名 ORACLE 注意 86                 //.setTablePrefix("t_")// 此处可以修改为您的表前缀(数组) 87                 .setNaming(NamingStrategy.underline_to_camel) // 表名生成策略 88                 .setInclude(tableNames)//修改替换成你需要的表名,多个表名传数组 89                 //.setExclude(new String[]{"test"}) // 排除生成的表 90                 .setRestControllerStyle(true) 91                 .setControllerMappingHyphenStyle(true) 92                 .setEntityLombokModel(true) // lombok实体 93                 .setEntityBuilderModel(false) // 【实体】是否为构建者模型(默认 false) 94                 .setEntityColumnConstant(false) // 【实体】是否生成字段常量(默认 false)// 可通过常量名获取数据库字段名 // 3.x支持lambda表达式 95                 //.setLogicDeleteFieldName("is_delete") // 逻辑删除属性名称 96                 .entityTableFieldAnnotationEnable(true) 97                 .setColumnNaming(NamingStrategy.nochange) 98                 ; 99 100         // 包信息配置101         PackageConfig packageConfig = new PackageConfig()102                 .setParent(packageName)103                 .setController("controller")104                 .setEntity("model")105                 .setMapper("dao")106                 .setXml("mapper")107 108                 /*109                 // 共同构建成包名110                 .setParent("com.fengwenyi")111                 .setModuleName("model")112                 */113                 ;114 115         // 执行器116         new AutoGenerator()117                 .setGlobalConfig(config)118                 .setDataSource(dataSourceConfig)119                 .setStrategy(strategyConfig)120                 .setPackageInfo(packageConfig)121                 .execute();122     }123 124 }

启动APP

package com.raise3d.MyGenerator;//import com.baomidou.mybatisplus.annotation.TableField;//import com.baomidou.mybatisplus.annotation.TableId;/** * 代码生成器(测试) * @author Wenyi Feng * @since 2018-08-31 */public class App {//    @TableField//    @TableId    public static void main(String[] args) {        Utils.generateCode();        //UtilsV2.generateCode();    }}

  mybatis plus 是在18年下半年接触到的一个对mybatis进行封装的框架,具备mybatis原有的属性,在mybatis原有的基础上封装基本的curd操作方法,覆盖了日常数据库的操作,(复杂的sql查询除外),简单易用,此生成器生成了controller、service、serviceImpl、dao、mapper、等文件。

转载于:https://www.cnblogs.com/mingyuan1031/p/10738316.html

你可能感兴趣的文章
英语单词
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
新手Python第一天(接触)
查看>>
【bzoj1029】[JSOI2007]建筑抢修
查看>>
synchronized
查看>>
codevs 1080 线段树练习
查看>>
[No0000195]NoSQL还是SQL?这一篇讲清楚
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
QML学习笔记之一
查看>>
Window 的引导过程
查看>>
App右上角数字
查看>>
从.NET中委托写法的演变谈开去(上):委托与匿名方法
查看>>
小算法
查看>>
201521123024 《java程序设计》 第12周学习总结
查看>>
新作《ASP.NET MVC 5框架揭秘》正式出版
查看>>
IdentityServer4-用EF配置Client(一)
查看>>
WPF中实现多选ComboBox控件
查看>>
读构建之法第四章第十七章有感
查看>>