java模板代码生成器(还不是有手就行)
简介
代码生成感觉非常合适我们这种勤奋的人,废话不多说,直接上代码(有手就行);
知识点:mybatis-plus框架,生成器根据mybatis-plus模板生成建议可以看官网:https://baomidou.com/
官网的生成器地址:https://baomidou.com/guide/generator.html
#pox.xml
<properties><java.version>1.8</java.version><mysql.version>8.0.22</mysql.version><plus.version>3.4.2</plus.version><swagger.version>2.9.2</swagger.version><swaggerio.version>1.5.21</swaggerio.version><commons.io.version>2.5</commons.io.version></properties><dependencies><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.1</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.31</version></dependency><dependency><groupId>com.ibeetl</groupId><artifactId>beetl</artifactId><version>3.3.2.RELEASE</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.0</version></dependency><!--io常用工具类 --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>${commons.io.version}</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- Mybatis-plus 依赖 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>${plus.version}</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${plus.version}</version></dependency></dependencies>
PublicConstants(常量)
/*** @ClassName PublicConstants* @Author zwy* @Data 15/4/2021 上午11:01*/
public class PublicConstants {final public static String DRIVER_NAME = "com.mysql.cj.jdbc.Driver";final public static String URL = "jdbc:mysql://121.5.147.69:3306/material_system?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";final public static String USER_NAME = "root";final public static String PASSWORD = "密码";final public static String CONTROLLER = "templates/controller.java.vm";final public static String SERVICE = "templates/service.java.vm";final public static String SERVICE_IMPL = "templates/serviceImpl.java.vm";final public static String MAPPER = "templates/mapper.java.vm";final public static String MAPPER_XML = "templates/mapper.xml.vm";final public static String ENTRY = "templates/entity.java.vm";
}
Test(测试)
@Testpublic void test3(){// 全局配置 说明白点,就是一些文件生成路径和创建类上面的一些注释,例如作者等GlobalConfig globalConfig = new GlobalConfig();globalConfig.setActiveRecord(true).setFileOverride(true).setOpen(false)//作者.setAuthor("lanys")//生成文件.setOutputDir("D:/lanys")//指定生成的主键的ID类型.setIdType(IdType.AUTO)//service层的名称.setServiceName("%sService").setBaseResultMap(true).setBaseColumnList(true);//2.配置数据源 数据源,url,username,passwordDataSourceConfig dataSourceConfig = new DataSourceConfig();dataSourceConfig.setDriverName(PublicConstants.DRIVER_NAME);dataSourceConfig.setUrl(PublicConstants.URL);dataSourceConfig.setUsername(PublicConstants.USER_NAME);dataSourceConfig.setPassword(PublicConstants.PASSWORD);//3.包的策略配置 //packageConfig.setModuleName(mysql.getTableName());PackageConfig packageConfig = new PackageConfig();//配置包名packageConfig.setParent("sys_user");//实体包名packageConfig.setEntity("model");//4.模板 如果没有什么set的,就会使用默认的mybatis-plus默认模板TemplateConfig templateConfig = new TemplateConfig();templateConfig.setXml(null);//下边是是定义模板
// templateConfig.setController(PublicConstants.CONTROLLER);
// templateConfig.setXml(PublicConstants.MAPPER_XML);
// templateConfig.setService(PublicConstants.SERVICE);
// templateConfig.setServiceImpl(PublicConstants.SERVICE_IMPL);
// templateConfig.setMapper(PublicConstants.MAPPER);
// templateConfig.setEntity(PublicConstants.ENTRY);//5.配置策略模式StrategyConfig strategyConfig = new StrategyConfig();//驼峰命名strategyConfig.setCapitalMode(true)//驼峰命名.setNaming(NamingStrategy.underline_to_camel)/*** 指定数据库表,如果不指定,就会生成数据库中的全部表*/.setInclude("sys_user");//最主要的生成器AutoGenerator autoGenerator = new AutoGenerator();autoGenerator.setGlobalConfig(globalConfig).setDataSource(dataSourceConfig).setStrategy(strategyConfig).setTemplate(templateConfig).setPackageInfo(packageConfig);//自定义生成//autoGenerator.setCfg(injectionConfig());autoGenerator.execute();}
解析:因为大部分的代码已经写好注解,可以自己去看,如果想自己用来测试需要注意的有:
1.常量文件中的对应的mysql配置:ip,端口,数据库名称,账号,密码final public static String URL = "jdbc:mysql://121.5.147.69:3306/material_system?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";final public static String USER_NAME = "root";final public static String PASSWORD = "密码"2.生成对应表,或生成全部表,下边已注释://5.配置策略模式StrategyConfig strategyConfig = new StrategyConfig();//驼峰命名strategyConfig.setCapitalMode(true)//驼峰命名.setNaming(NamingStrategy.underline_to_camel)/*** 指定数据库表,如果不指定,就会生成数据库中的全部表*/.setInclude("sys_user");
注意:这是模板生成,如果想要更进一步提升,可以自己写一个生成器,不用太原始,比如你想生成数据库的某个表,他是如何获取的等,到你真正的去探索就会发现很有意思!
例如:1.获取数据库中的某个表:
select table_name, table_comment, create_time, update_time from
information_schema.tableswhere table_name NOT LIKE 'qrtz_%'
and table_name NOT LIKE 'gen_%' and table_schema = (select database())
and table_name='sys_notice'
2.获取数据库中的所有表:
select table_name,table_comment,create_time,update_time from
information_schema.tables where table_schema = (select database())
3.获取数据表中的字段:
select column_name,column_type from information_schema.columnswhere table_schema = (select database()) and table_name = 'sys_user'order by ordinal_position
声明:生成器简单入门,充当笔记,造轮子。
java模板代码生成器(还不是有手就行)相关推荐
- Java 模板引擎总结
Java模板引擎 FreeMarker 概念 介绍 特性 优势 不足 一个小Demo 概念 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写.它是为Java程 ...
- java 模板引擎_极简 Spring Boot 整合 Thymeleaf 页面模板
点击"牧码小子"关注,和众多大牛一起成长! 关注后,后台回复 java ,领取松哥为你精心准备的技术干货! 虽然现在慢慢在流行前后端分离开发,但是据松哥所了解到的,还是有一些公司在 ...
- java 模板模式_Java模板模式(Template模式)
Java模板模式(Template模式) 下一节> Template模式定义:定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中. 其实Java的抽象类本来就是Template模式,因此使 ...
- Thymeleaf学习总结(1)——新一代Java模板引擎Thymeleaf
Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎.类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用 ...
- Beetl学习总结(1)——新一代java模板引擎典范 Beetl入门
1. 什么是Beetl Beetl目前版本是2.7.0,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎. ...
- Java模板引擎 FreeMarker介绍1
Java模板引擎 FreeMarker介绍 摘要: FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写,FreeMarker被设计用来生成HTML Web页面( ...
- Java 通用代码生成器光 2.3.0 文明 Beta10 版发布介绍视频,支持从源码构建
Java 通用代码生成器光 2.3.0 文明 Beta10 版发布介绍视频,支持从源码构建 Java 通用代码生成器光 2.3.0 文明 Beta10 版发布最新介绍视频,详细介绍 java 通用代码 ...
- Java 通用代码生成器光 2.3.0 文明 Beta10 版,支持从源码构建
Java 通用代码生成器光 2.3.0 文明 Beta10 版,支持从源码构建 Java 通用代码生成器光 2.3.0 文明已发布 Beta10 版,支持从源码构建代码生成器.您可以装好 JDK 和 ...
- java变形金刚视频,Java 通用代码生成器光 2.0.0 Insight(内省) 发布尝鲜版 4,代码变形金刚...
Java 通用代码生成器光 2.0.0 Insight(内省) 发布尝鲜版4,代码变形金刚 光 2.0.0 Insight(内省) 尝鲜版4拥有动态椰子树和动词否定两大功能群. 动态椰子树功能群允许您 ...
- java安卓开发模板软件_用Java模板创建你的Hello, Harmony!
2020年度华为开发者大会"HDC Together"于9月10日至9月12日在东莞松山湖成功举办.作为一名开发者,我有幸参加这一年一度的盛会,并且亲身体验了 Harmony OS ...
最新文章
- 人脸关键点 姿态笔记
- 从websphere6.1迁移到weblogic10.3的问题总结--转
- C语言树形文件结构的创建,C语言二叉树
- .gitignore失效 无法忽略node_modules问题
- [css] 你知道的等高布局有多少种?写出来
- python headers 随机_0基础学Python之反爬虫利器,搭建HTTP代理~~
- 不等式解集怎么取_七年级下学期《8.2不等式及不等式组的解集》2020年高频易错题集...
- python笔记2-冒泡排序
- 一次荒唐的技术决策过程:排除研发总监,无技术参与
- Redis雪崩、穿透、击穿补充学习与布隆过滤器
- ELK日志分析系统理论加实操演练!!
- 清除浮动解决高度坍塌的5种方法 以及兼容IE
- shell 编程--shell的扩展功能(字符串切割与掐头去尾)、通配符、设置语言字符集
- React使用Swiper实现3D coverflow 效果
- Vrep中的视觉传感器添加,移动,旋转,和视图
- 网页多次刷新出不来怎么办
- RPA - Robotic process automation (机器人流程自动化)
- 基于数字孪生的机器人焊接自动编程关键技术
- 关于如何解决近期微赞或微擎有些模块提示不是官方安装的解决办法 http://bbs.517weixin.com/thread-1323-1-1.html
- 【STM32】 无线转接板模块