当前位置: 首页 > news >正文

MyBatis-Flex代码生成

在这里插入图片描述

引入依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope>
</dependency><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId>
</dependency><dependency><groupId>com.mybatis-flex</groupId><artifactId>mybatis-flex-spring-boot-starter</artifactId><version>1.11.0</version>
</dependency><dependency><groupId>com.mybatis-flex</groupId><artifactId>mybatis-flex-codegen</artifactId><version>1.11.0</version>
</dependency>

代码实现

import com.mybatisflex.codegen.Generator;
import com.mybatisflex.codegen.config.ColumnConfig;
import com.mybatisflex.codegen.config.GlobalConfig;
import com.qiangesoft.mybatisflex.base.BaseEntity;
import com.zaxxer.hikari.HikariDataSource;/*** 代码生成工具类*/
public class CodegenUtil {public static void main(String[] args) {// 配置数据源HikariDataSource dataSource = new HikariDataSource();dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/db_mybatisflex?useInformationSchema=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8");dataSource.setUsername("root");dataSource.setPassword("root");// 创建配置内容,两种风格都可以。GlobalConfig globalConfig = createGlobalConfigUseStyle2();// 通过 datasource 和 globalConfig 创建代码生成器Generator generator = new Generator(dataSource, globalConfig);// 生成代码generator.generate();}/*** 常规风格*/public static GlobalConfig createGlobalConfigUseStyle1() {// 创建配置内容GlobalConfig globalConfig = new GlobalConfig();// 设置路径及根包globalConfig.setSourceDir("D:/work/code/boot-business/boot-business-mybatisflex/src/main/java");globalConfig.setBasePackage("com.qiangesoft.mybatisflex");globalConfig.setMapperXmlPath("D:/work/code/boot-business/boot-business-mybatisflex/src/main/resources/mapper");// 设置生成策略
//        globalConfig.setTablePrefix("tb_");globalConfig.setGenerateTable("sys_user", "sys_dept");globalConfig.setUnGenerateTable("tb_test");globalConfig.setLogicDeleteColumn("deleted");globalConfig.setVersionColumn("version");// 设置 javadocglobalConfig.setAuthor("qiangesoft");globalConfig.setSince("1.0.0");// 设置生成 entityglobalConfig.setEntityGenerateEnable(true);globalConfig.setEntityWithLombok(true);
//        globalConfig.setEntitySuperClass(BaseEntity.class);globalConfig.setEntityJdkVersion(11);// 设置生成 mapperglobalConfig.setMapperGenerateEnable(true);globalConfig.setMapperAnnotation(true);// 设置生成 mapper.xmlglobalConfig.setMapperXmlGenerateEnable(true);// 设置生成 serviceglobalConfig.setServiceGenerateEnable(true);// 设置生成 serviceImplglobalConfig.setServiceImplGenerateEnable(true);// 设置生成 controllerglobalConfig.setControllerGenerateEnable(true);globalConfig.setControllerRestStyle(true);
//        globalConfig.setControllerRequestMappingPrefix("sys");// 单独配置某个列
//        ColumnConfig columnConfig1 = new ColumnConfig();
//        columnConfig1.setColumnName("create_time");
//        columnConfig1.setOnInsertValue("now()");
//
//        ColumnConfig columnConfig2 = new ColumnConfig();
//        columnConfig2.setColumnName("update_time");
//        columnConfig2.setOnUpdateValue("now()");
//
//        globalConfig.setColumnConfig(columnConfig1);
//        globalConfig.setColumnConfig(columnConfig2);// 指定表// globalConfig.setColumnConfig("tb_account", columnConfig);return globalConfig;}/*** 链式风格*/public static GlobalConfig createGlobalConfigUseStyle2() {// 创建配置内容GlobalConfig globalConfig = new GlobalConfig();// 设置路径及根包globalConfig.getPackageConfig().setSourceDir("D:/work/code/boot-business/boot-business-mybatisflex/src/main/java").setBasePackage("com.qiangesoft.mybatisflex").setMapperXmlPath("D:/work/code/boot-business/boot-business-mybatisflex/src/main/resources/mapper");// 设置生成策略globalConfig.getStrategyConfig()
//                .setTablePrefix("sys_").setGenerateTable("sys_user", "sys_dept").setUnGenerateTable("tb_test").setIgnoreColumns("test").setLogicDeleteColumn("deleted").setVersionColumn("version");// 设置 javadocglobalConfig.getJavadocConfig().setAuthor("admin").setSince("1.0.0");// 设置生成 entityglobalConfig.enableEntity().setWithLombok(true).setAlwaysGenColumnAnnotation(true)//        .setSuperClass(BaseEntity.class).setJdkVersion(11);// 设置生成 mapperglobalConfig.enableMapper().setMapperAnnotation(true);// 配置生成 mapper.xmlglobalConfig.enableMapperXml();// 设置生成 serviceglobalConfig.enableService();// 设置生成 serviceImplglobalConfig.enableServiceImpl();// 设置生成 controllerglobalConfig.enableController().setRestStyle(true).setRequestMappingPrefix("sys");// 单独配置某个列
//        ColumnConfig columnConfig1 = new ColumnConfig();
//        columnConfig1.setColumnName("create_time");
//        columnConfig1.setOnInsertValue("now()");
//
//        ColumnConfig columnConfig2 = new ColumnConfig();
//        columnConfig2.setColumnName("update_time");
//        columnConfig2.setOnUpdateValue("now()");
//
//        globalConfig.getStrategyConfig()
//                .setColumnConfig(columnConfig1)
//                .setColumnConfig(columnConfig2);return globalConfig;}}

生成结果

在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/1146457.html

相关文章:

  • jvm分析篇---1、先认识下dump文件
  • b-up:Enzo_Mi:深度学习基础知识
  • 【C语言进阶】题目练习(2)
  • 【51】MFC入门到精通——MFC串口助手(一)---初级版(初始化、串口设置、修改参数、打开/关闭、状态显示),附源码
  • 机器学习基础:线性回归算法详解(原理+代码+实战)
  • Proto文件从入门到精通——现代分布式系统通信的基石(含实战案例)
  • 数据库模型异常问题深度解析:冗余与操作异常
  • 柴油机活塞cad【4张】三维图+设计说明书
  • 小架构step系列18:工具
  • 《每日AI-人工智能-编程日报》--2025年7月18日
  • 【洛谷P1417】烹调方案 题解
  • SQL注入基础尝试
  • 71 模块编程之新增一个字符设备
  • ArcGIS Pro+PS 实现地形渲染效果图
  • 上网行为管理-web认证服务
  • 【C++基础】--多态
  • ThreadLocal 在 Spring 与数据库交互中的应用笔记
  • 北京-4年功能测试2年空窗-报培训班学测开-第五十四天
  • Kubernetes Pod深度理解
  • 大模型格式
  • 外部DLL创建及使用
  • UVC for USBCamera in Android - 篇二
  • 腾讯 ChatBI 调研
  • 如何为“地方升学导向型”语校建模?Prompt 框架下的宇都宫日建工科专门学校解析(7 / 500)
  • Java HashMap高频面试题深度解析
  • 对于编码电机-520直流减速电机
  • 【AI News | 20250717】每日AI进展
  • 3.3 参数传递方式
  • 应用集成体系深度解析:从数据互通到流程协同
  • 20250718【顺着234回文链表做两题反转】Leetcodehot100之20692【直接过12明天吧】今天计划