TienChin 渠道管理-工程创建

简介: 因为本文章主要围绕着项目开发进行,所以前言不做开头,直接上内容。

因为本文章主要围绕着项目开发进行,所以前言不做开头,直接上内容。


添加字段


我们的渠道表,我看到若依脚手架当中有一个是否删除的标志字段,所以我这里也添加一下:

ALTER TABLE `tienchin_channel`
    ADD COLUMN `del_flag` char(1) NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)' AFTER `update_time`;

新建模块


配置模块信息:



信息自己照着上方进行输入即可,具体的每一个选项,做这种项目不做过多介绍,因为并不是什么新的技术点,点击 Create。


channel 模块需要依赖一下 tienchin-common。


渠道管理最终的 pom.xml 内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>top.it6666</groupId>
        <artifactId>tienchin</artifactId>
        <version>3.8.5</version>
    </parent>
    <artifactId>tienchin-channel</artifactId>
    <description>
        渠道管理模块
    </description>
    <dependencies>
        <!--
        通用工具
        -->
        <dependency>
            <groupId>top.it6666</groupId>
            <artifactId>tienchin-common</artifactId>
        </dependency>
    </dependencies>
</project>

定义版本号


父工程当中定义渠道管理模块版本号:

<!--
渠道管理
-->
<dependency>
    <groupId>top.it6666</groupId>
    <artifactId>tienchin-channel</artifactId>
    <version>${tienchin.version}</version>
</dependency>


注意点:

  • 渠道管理模块 version 的版本号要与当前父工程 pom.xml 内容中 tienchin.version 一致否则会报错



tienchin-admin 依赖 tienchin-channel:

<!--
渠道管理
-->
<dependency>
    <groupId>top.it6666</groupId>
    <artifactId>tienchin-channel</artifactId>
</dependency>


业务代码都写在 tienchin-channel 模块当中,admin 是 web 接口的入口,所以依赖调用一下我们写的业务类代码即可。


加入单元测试


在 tienchin-admin 加入依赖:

<!--
单元测试
-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>


更改 spring-boot 版本号为 2.5.13,并且将原先的版本号写在 dependencies 改造成定义在 properties 当中:

<spring-boot.version>2.5.13</spring-boot.version>


2105804-20230822004538565-1164283768.png

加入 MyBatisPlus 代码生成器


在父工程模块当中管理 MyBatisPlus 版本号:

<mybatis-plus-generator.version>3.5.3</mybatis-plus-generator.version>


<!--
MyBatisPlus 代码生成器
-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>${mybatis-plus-generator.version}</version>
</dependency>


引入依赖:

<!--
MyBatisPlus 代码生成器
-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
</dependency>
<!--
FreeMarker 是一个用 Java 编写的模板引擎。它不是用于生成 HTML 的 web 框架,而是一个用于生成文本输出的模板引擎。但在 web 开发中,它常常被用于生成 HTML。以下是 FreeMarker 的一些关键特点和用途:
1. **文本生成**:FreeMarker 主要是用来基于模板生成文本输出的。这可以是 HTML、XML、邮件正文,或者其他任何的文本格式。
2. **数据驱动**:你可以在模板中使用预定义的数据模型。当模板被处理时,FreeMarker 将这些数据与模板结合起来生成输出。
3. **灵活性**:FreeMarker 提供了丰富的内置函数和指令,允许开发者执行循环、条件判断和其他逻辑操作。
4. **与 web 框架集成**:虽然 FreeMarker 本身不是一个 web 框架,但它经常与 Java web 框架(如 Spring MVC)集成,作为视图技术来生成 HTML 页面。
5. **与 Java 集成**:FreeMarker 可以与 Java 对象轻松集成,这意味着你可以在模板中直接访问和使用 Java 对象的属性和方法。
6. **无依赖**:FreeMarker 不依赖于任何特定的 web 或应用服务器,因此可以在任何 Java 环境中使用。
7. **安全性**:FreeMarker 被设计为在安全受限的环境中运行,例如在服务器端为不受信任的用户生成内容。
总的来说,FreeMarker 是一个强大而灵活的模板引擎,适用于从简单的文本生成到复杂的 web 页面渲染等各种场景。
-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

本人在 MyBatisPlus 官网 copy 了一份代码,发现有问题,然后,我改造了一下,出现问题的代码效果如下图:



改造之后的代码,也是最终的代码,url, username, password 需要换成你们自己的:

/**
 * @author BNTang
 * @version 1.0
 * @description MyBatisPlus CRUD 代码生成器
 * @since 2023-17-20
 **/
@SpringBootTest
public class GenerateCode {
    @Test
    void generateChannel() {
        String path = "E:\\Desktop\\TienChin\\tienchin\\tienchin-channel\\src\\main";
        FastAutoGenerator.create(
                        "url",
                        "username",
                        "password"
                )
                .globalConfig(builder ->
                        builder
                                // 设置作者
                                .author("BNTang")
                                // 覆盖已生成文件
                                .fileOverride()
                                // 指定输出目录
                                .outputDir(path + "\\java"))
                .packageConfig(builder ->
                        builder
                                // 设置父包名
                                .parent("top.it6666")
                                // 设置父包模块名
                                .moduleName("channel")
                                // 设置mapperXml生成路径
                                .pathInfo(Collections.singletonMap(OutputFile.xml, path + "\\resources\\mapper")))
                .strategyConfig(builder ->
                        builder
                                // 设置需要生成的表名
                                .addInclude("tienchin_channel")
                                // 设置过滤表前缀
                                .addTablePrefix("tienchin_"))
                // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .templateEngine(new FreemarkerTemplateEngine())
                .execute();
    }
}

运行


点击单元测试的 run 按钮,就可以生成对应的模块文件夹如下图:



最后将 controller 移动到 tienchin-admin 模块当中的 top.it6666.web.controller.tienchin 下,本章节到此结束,主要就是新建了一下我们的渠道管理模块,下一节将进行业务代码的开发。

目录
相关文章
|
资源调度 测试技术 Linux
一款接口自动化神器—开源接口测试平台Lim(Less is More)
一款接口自动化神器—开源接口测试平台Lim(Less is More)
1316 2
|
文字识别 自然语言处理 达摩院
一文上手文档智能Document Mind
简要讲述文档智能Document Mind以及文档智能的功能测试
一文上手文档智能Document Mind
|
4月前
|
数据采集 人工智能 供应链
GEO岗位数据分析:20份JD拆解与AI搜索优化师能力模型解析
本文基于20份GEO岗位JD数据分析,从名称分布、薪资区间(8K–25K)、核心能力(内容策略/平台分发/数据追踪)及可持续性四维度拆解AI搜索优化岗。结论:非技术岗,是内容运营的AI升级版,无需编程,但需懂AI引擎偏好;当前供需失衡带来20%–30%薪资溢价,能力将成未来标配。
1312 1
|
5月前
|
存储 人工智能 弹性计算
阿里云新用户2026年购买云服务器优惠解析:优惠、实例与决策指南
2026年阿里云为新用户提供了丰富的云服务器优惠。轻量应用服务器低至38元/年,经济型e实例99元/年(活动持续至2029年3月),u1实例199元/年,u2i实例年付3折起,第九代实例年付最低6.4折。此外,618 AI加速季推出总额2088元优惠券礼包(个人360元、企业1728元),满额最高减800元;百炼产品还有"先用后返"活动,最高返200元。多重优惠可叠加使用,大幅降低新用户上云及AI应用落地成本。
|
5月前
|
SQL 存储 关系型数据库
MySQL数据库迁移方案全对比:5种主流方式怎么选?(附避坑清单)
MySQL迁移是DBA和开发者的高频需求,但面对mysqldump、物理拷贝、主从复制、专业迁移工具等众多方案,很多人不知道该怎么选。本文从迁移速度、停机时间、适用数据量、风险等级四个维度,对比5种主流MySQL迁移方案的优缺点和适用边界,并结合大数据量迁移场景给出避坑建议,帮助读者在迁移项目中少踩坑。
|
5月前
|
人工智能 安全 Serverless
云计算发展趋势全景解读:2026年技术决策者需要关注什么?
云计算正在从"基础设施搬迁"转向"智能化运行时"。AI原生架构、边缘混合部署、FinOps精细化治理、数据主权合规和零信任安全是当前五条主线,技术决策者需要从业务场景出发,重新审视云架构的选型逻辑。
|
机器学习/深度学习 算法 机器人
基于QLearning强化学习的较大规模栅格地图机器人路径规划matlab仿真
本项目基于MATLAB 2022a,通过强化学习算法实现机器人在栅格地图中的路径规划。仿真结果显示了机器人从初始位置到目标位置的行驶动作序列(如“下下下下右右...”),并生成了详细的路径图。智能体通过Q-Learning算法与环境交互,根据奖励信号优化行为策略,最终学会最优路径。核心程序实现了效用值排序、状态转换及动作选择,并输出机器人行驶的动作序列和路径可视化图。
940 85
|
机器学习/深度学习 人工智能 开发者
DeepSeek安装部署指南,基于阿里云PAI零代码,小白也能轻松搞定!
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括:开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程简单快捷,极大降低了使用门槛。
2477 43
|
弹性计算 人工智能 运维
0代码!2种方式一键部署 DeepSeek 系列模型
DeepSeek 凭借卓越性能和广泛应用场景,获得全球高度关注。DeepSeek-R1-Distill 是基于 DeepSeek-R1 生成的开源小模型,参数规模更小、推理成本更低,且基准测试表现出色。本文以 DeepSeek-R1-Distill-Qwen-7B-GGUF 模型为例,介绍如何通过阿里云 CAP 平台和函数计算 FC 部署 DeepSeek-R1 模型。用户可选择模型服务或应用模版两种方式快速部署,最快 10 分钟完成,最低 0 元起,支持 API 调用及第三方平台集成,具备免运维、弹性伸缩和高可用性,按量付费模式有效降低成本。欢迎点击阅读原文体验部署。
什么是复数
【10月更文挑战第12天】什么是复数
4799 1