From 0ab9dfd8f122195e4e9f09bd50c59e0a47450bec Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 19 三月 2025 15:50:03 +0800
Subject: [PATCH] fix: resolve merge conflicts in .gitignore

---
 generator/src/test/java/com/xizang/CodeGeneratorTests.java |  158 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 158 insertions(+), 0 deletions(-)

diff --git a/generator/src/test/java/com/xizang/CodeGeneratorTests.java b/generator/src/test/java/com/xizang/CodeGeneratorTests.java
new file mode 100644
index 0000000..8a5e34c
--- /dev/null
+++ b/generator/src/test/java/com/xizang/CodeGeneratorTests.java
@@ -0,0 +1,158 @@
+package com.xizang;
+
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.InjectionConfig;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.po.LikeTable;
+import com.baomidou.mybatisplus.generator.config.po.TableInfo;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 通过指定 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) 可达到加速的效果。
+ * 这时测试类启动时就只会初始化 Spring 上下文,不再启动 Tomcat 容器
+ */
+public class CodeGeneratorTests {
+
+    private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver";
+
+    private static final String JDBC_URL = "jdbc:mysql://xzgt.test.591taxi.cn:13306/xizang?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
+    private static final String USER_NAME = "root";
+    private static final String PASSWORD = "8f5z9g52gx4bg";
+
+
+    // 防止误生成
+    private static final String BASE_PACKAGE = "com.ruoyi.system";
+
+    @Test
+    public void contextLoads() {
+        // 代码生成器
+        AutoGenerator mpg = new AutoGenerator();
+
+        // 全局配置
+        GlobalConfig gc = new GlobalConfig();
+        String projectPath = "D:\\workspaces\\Project\\company\\changyun\\xizang\\xizang\\generator";
+        gc.setOutputDir(projectPath + "/src/main/java")
+                .setAuthor("yupeng")
+                .setMapperName("%sMapper")
+                .setXmlName("%sMapper")
+                .setServiceName("%sService")
+                .setServiceImplName("%sServiceImpl")
+                .setControllerName("%sController")
+                .setOpen(false)//当代码生成完成之后是否打开代码所在的文件夹
+                .setSwagger2(true) //实体属性 Swagger2 注解
+                .setFileOverride(true)//是否覆盖
+                //.setActiveRecord(true)
+                .setEnableCache(false)// XML 二级缓存
+                .setBaseResultMap(true)// XML ResultMap
+                .setBaseColumnList(true);// XML columList
+        mpg.setGlobalConfig(gc);
+
+        // 数据源配置
+        DataSourceConfig dsc = new DataSourceConfig();
+        dsc.setUrl(JDBC_URL);
+        // dsc.setSchemaName("public");
+        dsc.setDriverName(DRIVER_NAME);
+        dsc.setUsername(USER_NAME);
+        dsc.setPassword(PASSWORD);
+        mpg.setDataSource(dsc);
+
+        // 包配置
+        PackageConfig pc = new PackageConfig();
+        //  pc.setModuleName(scanner("模块名"));
+        // pc.setModuleName("sys");
+        pc.setParent(BASE_PACKAGE);//controller entity  service  service.impl
+        pc.setController("controller");
+        pc.setEntity("model");
+        pc.setMapper("mapper");
+        pc.setService("service");
+
+
+        // 自定义mapping文件生成路径配置
+        InjectionConfig cfg = new InjectionConfig() {
+            @Override
+            public void initMap() {
+                // to do nothing
+            }
+        };
+        // 如果模板引擎是 velocity
+        String templatePath = "/templates/mapper.xml.vm";
+
+        // 自定义输出配置
+        List<FileOutConfig> focList = new ArrayList<>();
+        // 自定义配置会被优先输出
+        focList.add(new FileOutConfig(templatePath) {
+            @Override
+            public String outputFile(TableInfo tableInfo) {
+                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
+                return projectPath + "/src/main/resources/mapping/"
+                        + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
+            }
+        });
+        cfg.setFileOutConfigList(focList);
+        mpg.setCfg(cfg);
+        // 配置模板
+        TemplateConfig templateConfig = new TemplateConfig();
+        templateConfig.setXml(null);
+        mpg.setTemplate(templateConfig);
+        mpg.setPackageInfo(pc);
+
+        // 配置模板
+        // 不生成controller
+        //TemplateConfig templateConfig = new TemplateConfig();
+        //templateConfig.setController(null);
+        //mpg.setTemplate(templateConfig);
+
+
+        // 策略配置
+        StrategyConfig strategy = new StrategyConfig();
+        //设置字段和表名的是否把下划线完成驼峰命名规则
+        strategy.setNaming(NamingStrategy.underline_to_camel);
+        strategy.setEntitySerialVersionUID(true);
+        strategy.setEntityColumnConstant(false);
+
+
+        //设置生成的实体类继承的父类
+//        strategy.setSuperEntityClass(BaseModel.class);
+        // 生成字段常量
+        // strategy.setEntityColumnConstant(true);
+//        strategy.setSuperEntityColumns("create_by", "update_by", "disabled", "create_time", "last_time");
+        strategy.setEntityLombokModel(true);//是否启动lombok
+
+        strategy.setRestControllerStyle(true);//是否生成resetController
+        strategy.setLogicDeleteFieldName("isDelete");
+
+        // 字段自动操作策略
+     /*   List<TableFill> tableFillList = new ArrayList<>();
+        tableFillList.add(new TableFill("create_time", FieldFill.INSERT));
+        tableFillList.add(new TableFill("update_time", FieldFill.INSERT_UPDATE));
+        // 表字段与属性映射关系
+        strategy.setTableFillList(tableFillList);*/
+
+        // 公共父类
+        // strategy.setSuperControllerClass("com.sxt.BaseController");
+        // 写于父类中的公共字段
+        // strategy.setSuperEntityColumns("person_id","person_name");
+        //要设置生成哪些表 如果不设置就是生成所有的表
+        // strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));
+        strategy.setControllerMappingHyphenStyle(true);
+        strategy.setEntityTableFieldAnnotationEnable(true);
+//         strategy.setTablePrefix(pc.getModuleName() + "");
+//        strategy.setLikeTable(new LikeTable("room"));
+        //strategy.setLikeTable(new LikeTable("member"));
+        strategy.setLikeTable(new LikeTable("sys_file"));// 生成表名
+//        strategy.setLikeTable(new LikeTable("t_hotel"));// 生成表名
+//        strategy.setLikeTable(new LikeTable("t_scan_message"));// 生成表名
+//        strategy.setNotLikeTable(new LikeTable("hotel_info"));// 不生成表名
+//        strategy.setLikeTable();
+        // strategy.setTablePrefix("sys_");
+        mpg.setStrategy(strategy);
+        mpg.execute();
+    }
+
+
+}

--
Gitblit v1.7.1