mark CodeGenerator
package com.xj.admin;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.InputStream;import java.util.HashMap;import java.util.Map;import java.util.Properties;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.InjectionConfig;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.TemplateConfig;import com.baomidou.mybatisplus.generator.config.rules.DbType;import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;/*** <p>* 代码生成器演示* </p>*/public class CodeGenerator {public static void main(String[] args) {AutoGenerator mpg = new AutoGenerator();// 全局配置GlobalConfig gc = new GlobalConfig();gc.setOutputDir("D://");gc.setFileOverride(true);gc.setActiveRecord(true);gc.setEnableCache(true);// XML 二级缓存gc.setBaseResultMap(true);// XML ResultMapgc.setBaseColumnList(false);// XML columListgc.setAuthor("xj");// 自定义文件命名,注意 %s 会自动填充表实体属性!// gc.setMapperName("%sDao");// gc.setXmlName("%sDao");// gc.setServiceName("MP%sService");// gc.setServiceImplName("%sServiceDiy");// gc.setControllerName("%sAction");mpg.setGlobalConfig(gc);// 数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setDbType(DbType.MYSQL);dsc.setDriverName(readValue("spring.datasource.driver-class-name"));dsc.setUsername(readValue("spring.datasource.username"));dsc.setPassword(readValue("spring.datasource.password"));dsc.setUrl(readValue("spring.datasource.url"));mpg.setDataSource(dsc);// 策略配置StrategyConfig strategy = new StrategyConfig();//strategy.setTablePrefix("bmd_");// 此处可以修改为您的表前缀strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略strategy.setInclude(new String[] { "tb_dict" }); // 需要生成的表// strategy.setExclude(new String[]{"test"}); // 排除生成的表// 字段名生成策略strategy.setDbColumnUnderline(true);// 自定义实体父类// strategy.setSuperEntityClass("com.baomidou.demo.TestEntity");// 自定义实体,公共字段// strategy.setSuperEntityColumns(new String[] { "test_id", "age" });// 自定义 mapper 父类// strategy.setSuperMapperClass("com.baomidou.demo.TestMapper");// 自定义 service 父类// strategy.setSuperServiceClass("com.baomidou.demo.TestService");// 自定义 service 实现类父类// strategy.setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl");// 自定义 controller 父类// strategy.setSuperControllerClass("com.baomidou.demo.TestController");// 【实体】是否生成字段常量(默认 false)// public static final String ID = "test_id";// strategy.setEntityColumnConstant(true);// 【实体】是否为构建者模型(默认 false)// public User setName(String name) {this.name = name; return this;}// strategy.setEntityBuliderModel(true);mpg.setStrategy(strategy);// 包配置PackageConfig pc = new PackageConfig();pc.setParent("com.xj.common.bussiness");pc.setModuleName("dict");mpg.setPackageInfo(pc);// 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值InjectionConfig cfg = new InjectionConfig() {@Overridepublic void initMap() {Map<String, Object> map = new HashMap<String, Object>();map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp");this.setMap(map);}};mpg.setCfg(cfg);// 自定义模板配置,可以 copy 源码 mybatis-plus/src/main/resources/template 下面内容修改,// 放置自己项目的 src/main/resources/template 目录下, 默认名称一下可以不配置,也可以自定义模板名称TemplateConfig tc = new TemplateConfig();tc.setController("/template/controller.vm");// tc.setEntity("...");// tc.setMapper("...");// tc.setXml("...");// tc.setService("...");// tc.setServiceImpl("...");mpg.setTemplate(tc);// 执行生成mpg.execute();// 打印注入设置System.err.println(mpg.getCfg().getMap().get("abc"));}//根据key读取valuepublic static String readValue(String key) {String filePath =CodeGenerator.class.getClassLoader().getResource("application.properties").getPath();Properties props = new Properties();try {InputStream in = new BufferedInputStream (new FileInputStream(filePath));props.load(in);String value = props.getProperty (key);System.out.println(key+value);return value;} catch (Exception e) {e.printStackTrace();return null;}}}
mark CodeGenerator的更多相关文章
- java.io.IOException: mark/reset not supported
java.io.IOException: mark/reset not supported at java.io.InputStream.reset(InputStream.java:348) at ...
- [mark] 使用Sublime Text 2时如何将Tab配置为4个空格
在Mac OS X系统下,Sublime Text是一款比较赞的编辑器. 作为空格党的自觉,今天mark一下使用Sublime Text 2时如何将Tab配置为4个空格: 方法来自以下两个链接: ht ...
- 特邀美国EMC实战专家Mark来华授课
“轻松搞定EMC-PCB和系统设计”课程介绍 本次课程特邀美国EMC领域权威专家Mark Montrose主讲,将涵盖满足产品电磁兼容性和信号完整性的基本原理.课程涉及多个领域,不仅仅针对PCB设计, ...
- 如何撤销 PhpStorm/Clion 等 JetBrains 产品的 “Mark as Plain Text” 操作 ?
当把某个文件“Mark as Plain Text”时,该文件被当做普通文本,就不会有“代码自动完成提示”功能,如下图所示: 但是呢,右键菜单中貌似没有 相应的撤销 操作, 即使是把它删除,再新建一个 ...
- vim - mark
Using markshttp://vim.wikia.com/wiki/Using_marks1. There is no visible indication of where marks are ...
- 根据大小生成对应尺寸网络图片的网址(mark)
当开发程序时,需要用到一些临时图片替代时,需要快速生成的话,以下的几个网址可提供帮助.mark一下,方便以后使用. http://lorempixel.com/http://placehold.it/ ...
- vim 标记 mark 详解 (转载)
http://www.cnblogs.com/jianyungsun/archive/2011/02/14/1954057.html Vim 允许你在文本中放置自定义的标记.命令 "ma&q ...
- CodeGenerator.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CiCe ...
- InputStream复用,mark和reset
markSupported InputStream是否支持mark,默认不支持. public boolean markSupported() { return false; } InputStrea ...
随机推荐
- MongoDB副本集配置系列四:节点的关闭顺序
接上一篇博客:http://www.cnblogs.com/xiaoit/p/4522218.html Primary Secondary Arbiter 1:关闭顺序PSA :会报错 2:关闭顺序P ...
- Linux进程共享通信 -- mmap实现
https://blog.csdn.net/y396397735/article/details/50651633 使用mmap内存映射实现一端写,另一端读的进程间通信 写端代码write.c /*w ...
- 学习练习SQL的数据库employee文件
这个地址是一个已经集成了employee的database的sql文件.所以你可以下载这个sql文件,然后执行sql语句到对应的数据库中,这样你就可以练习sql语句了. 第一个链接是用户指导如何使用的 ...
- 使用Dlib来运行基于CNN的人脸检测
检测结果如下 这个示例程序需要使用较大的内存,请保证内存足够.本程序运行速度比较慢,远不及OpenCV中的人脸检测. 注释中提到的几个文件下载地址如下 http://dlib.net/face_det ...
- PHP视频学习一 mysql
设置mysql.exe文件目录到环境变量Path中去,可能在cmd下面使用mysql,wind7试了一下好像要重启以后才生效 什么是数据库 数据库就是存储数据的地方,是保存在计算机(硬盘/内存)中的数 ...
- Aggressive cows
总时间限制: 1000ms 内存限制: 65536kB 描述 Farmer John has built a new long barn, with N (2 <= N <= 100,00 ...
- 俄罗斯方块-C语言-详注版
代码地址如下:http://www.demodashi.com/demo/14818.html 俄罗斯方块-C语言-详注版 概述 本文详述了C语言版俄罗斯方块游戏的原理以及实现方法,对游戏代码进行了详 ...
- Oracle 中TNS的作用
什么是TNS? TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和client连接的一个工具,在大多数情况下client和数据库要通讯,必须配置TNS,当然在少数情况下,不用 ...
- 长按listview弹出选项列表对话框
Android中通过xml资源文件定义数组.来自微风的网络日志. 文章链接:http://leybreeze.com/blog/?p=1524 Android ListView两种长按弹出菜单方式 h ...
- iOS 设备的CPU架构以及查看framework支持架构
记录一下,感觉摘录的还是比较全的: 模拟器:4s-5: i3865s-7 Plus: x86_64 真机(iOS设备):armv6: iPhone.iPhone 2.iPhone 3G.iPod To ...