《MyBatis-Plus 代码生成器基础入门》

1.概念介绍

MyBatis-Plus 是一个 MyBatis 的增强工具,旨在简化开发、提高效率。它在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 提供了代码生成器功能,可以快速地根据数据库表结构生成 Entity(实体类)、Mapper(映射器接口)、Service(服务层接口及其实现)、Controller(控制层)等代码文件。

2.代码生成器原理

MyBatis-Plus 的代码生成器是基于 Java 的反射机制和模板引擎来实现的。它通过读取数据库中的表结构信息,然后根据预设的模板生成对应的 Java 代码文件。用户可以根据需要自定义模板,以便生成符合项目规范的代码。

3.配置Demo工程步骤

3.1 设置JDK,Maven等关联信息,示例Demo已上传到我个人主页。

我选择openjdk17,保证jdk8以上就行

3.2 重新加载maven项目

以上操作做完,基本是不会报错了,可以正常编译源代码。

3.基础配置

要使用 MyBatis-Plus 的代码生成器,首先需要引入 MyBatis-Plus 的依赖,并进行相应的配置。以下是使用 MyBatis-Plus 代码生成器的基础步骤:

  1. 添加依赖: 在 Maven 或 Gradle 项目的构建配置中添加 MyBatis-Plus 相关依赖。

  2. 数据库连接配置: 配置好数据源,确保能够正确连接到数据库。

  3. 创建代码生成器配置: 创建一个 AutoGenerator 对象,并设置其属性,如数据源配置、全局配置、包配置、策略配置等。

  4. AutoGenerator源码:

    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by FernFlower decompiler)
    //
    
    package com.baomidou.mybatisplus.generator;
    
    import com.baomidou.mybatisplus.annotation.TableLogic;
    import com.baomidou.mybatisplus.annotation.TableName;
    import com.baomidou.mybatisplus.annotation.Version;
    import com.baomidou.mybatisplus.core.toolkit.StringUtils;
    import com.baomidou.mybatisplus.extension.activerecord.Model;
    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.builder.ConfigBuilder;
    import com.baomidou.mybatisplus.generator.config.po.TableInfo;
    import com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine;
    import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
    import java.io.Serializable;
    import java.util.Iterator;
    import java.util.List;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class AutoGenerator {
        private static final Logger logger = LoggerFactory.getLogger(AutoGenerator.class);
        protected ConfigBuilder config;
        protected InjectionConfig injectionConfig;
        private DataSourceConfig dataSource;
        private StrategyConfig strategy;
        private PackageConfig packageInfo;
        private TemplateConfig template;
        private GlobalConfig globalConfig;
        private AbstractTemplateEngine templateEngine;
    
        public void execute() {
            logger.debug("==========================准备生成文件...==========================");
            if (null == this.config) {
                this.config = new ConfigBuilder(this.packageInfo, this.dataSource, this.strategy, this.template, this.globalConfig);
                if (null != this.injectionConfig) {
                    this.injectionConfig.setConfig(this.config);
                }
            }
    
            if (null == this.templateEngine) {
                this.templateEngine = new VelocityTemplateEngine();
            }
    
            this.templateEngine.init(this.pretreatmentConfigBuilder(this.config)).mkdirs().batchOutput().open();
            logger.debug("==========================文件生成完成!!!==========================");
        }
    
        protected List<TableInfo> getAllTableInfoList(ConfigBuilder config) {
            return config.getTableInfoList();
        }
    
        protected ConfigBuilder pretreatmentConfigBuilder(ConfigBuilder config) {
            if (null != this.injectionConfig) {
                thi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Julian-X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值