mybatis-plus 3.5.3.1代码生成器

1111

<!--代码生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <!--代码生成器模板引擎-->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>
        <!--注解处理器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

1111

package com.example.up;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;

import java.util.ArrayList;
import java.util.List;


// 演示例子,执行 main 方法控制台输入模块表名回车自动生成对应项目目录中
public class CodeGenerator {

    public static void main(String[] args) {
        /*
            特别注意:生成的时间类型均为:“LocalDateTime”格式,需要假如以下注解方可正常使用
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")//用于指定日期/时间类型的属性在序列化为JSON字符串时的格式。
            @JsonDeserialize(using = LocalDateTimeDeserializer.class)//用于指定反序列化时使用的自定义类,LocalDateTimeDeserializer是一个实现了JsonDeserializer接口的类,可以将JSON字符串转换为LocalDateTime对象
            @JsonSerialize(using = LocalDateTimeSerializer.class)//用于指定序列化时使用的自定义类,LocalDateTimeSerializer是一个实现了JsonSerializer接口的类,可以将LocalDateTime对象转换为JSON字符串
        */


        //数据库连接
        String url = "jdbc:mysql://127.0.0.1:3306/security?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false";//数据库url
        String username = "";//账号
        String password = "";//密码
        //String module = "up";//模块名
        //全局配置参数
        String author = "作者";//作者
        //String outputDir = System.getProperty("user.dir")+"\\"+module+"\\src\\main\\java";//指定输出目录
        String outputDir = System.getProperty("user.dir")+"\\src\\main\\java";//指定输出目录

        //包配置参数
        String parent = "com.example";//父包名
        String moduleName = "up";//父包模块名
        String entity = "entity";//Entity 实体类包名
        String mapper = "mapper";//Mapper 包名
        String mapperXml = "mapper.xml";//Mapper XML 包名
        String service = "service";//Service 包名
        String serviceImpl = "service.impl";//Service Impl 包名
        String controller = "controller";//Controller 包名
        //要生成的数据库表
        List<String> tables = new ArrayList<>();
        tables.add("user");
        tables.add("role");
        tables.add("user_role");
        //开始生成
        FastAutoGenerator.create(url,username,password)
                //全局配置
                .globalConfig(builder -> {
                    builder.author(author)
                            .outputDir(outputDir)
                            .enableSwagger()//开启swagger
                            .commentDate("yyyy-MM-dd");//注释日期
                })
                //包配置
                .packageConfig(builder -> {
                    builder.parent(parent)
                            .moduleName(moduleName)
                            .entity(entity)
                            .mapper(mapper)
                            .xml(mapperXml)
                            .service(service)
                            .serviceImpl(serviceImpl)
                            .controller(controller);
                })
                //策略配置
                .strategyConfig(builder -> {
                    builder.addInclude(tables)
                            //开启生成实体类
                            .entityBuilder()
                            .enableLombok()//开启 lombok 模型
                            .enableTableFieldAnnotation()//开启生成实体时生成字段注解
                            //开启生成mapper
                            .mapperBuilder()
                            .enableBaseResultMap()//启用 BaseResultMap 生成
                            .superClass(BaseMapper.class)//设置父类
                            .enableMapperAnnotation()//开启 @Mapper 注解
                            .formatMapperFileName("%sMapper")//格式化 mapper 文件名称
                            .formatXmlFileName("%sMapper")//格式化 xml 实现类文件名称
                            //开启生成service及impl
                            .serviceBuilder()
                            .formatServiceFileName("%sService")//格式化 service 接口文件名称
                            .formatServiceImplFileName("%sServiceImpl")//格式化 service 实现类文件名称
                            //开启生成controller
                            .controllerBuilder()
                            // 映射路径使用连字符格式,而不是驼峰
                            .enableHyphenStyle()
                            .formatFileName("%sController")//格式化文件名称
                            .enableRestStyle();;
                })
                .templateEngine(new VelocityTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                //.templateConfig(builder -> builder.controller(""))//关闭生成controller
                .execute();
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis-Plus是一个基于MyBatis的增强工具,它简化了在使用MyBatis时的开发流程。MyBatis-Plus提供了许多实用的功能,如代码生成器,分页插件,通用CRUD方法等。你提到的mybatis-plus-generator3.5.3.1MyBatis-Plus代码生成器版本。 MyBatis-Plus代码生成器可以根据数据库表结构自动生成实体类、mapper接口以及mapper.xml文件等。通过配置相关参数,你可以灵活地生成符合项目需求的代码文件,极大地提高了开发效率。 如果你想使用MyBatis-Plus代码生成器,你可以按照以下步骤操作: 1. 在项目中引入MyBatis-Plus依赖。你可以在项目的pom.xml(如果是Maven项目)或者build.gradle(如果是Gradle项目)文件中添加相应的依赖配置。 2. 配置数据库连接信息。在代码生成器的配置文件中,你需要提供数据库连接的相关信息,包括数据库URL、用户名、密码等。 3. 配置生成策略。你可以通过配置生成策略来指定需要生成哪些表的代码文件,以及生成的文件存放的路径等。 4. 运行代码生成器。在完成上述配置后,你可以执行代码生成器的主类,它会根据配置信息自动在指定目录生成相应的代码文件。 需要注意的是,虽然代码生成器可以极大地提高开发效率,但在使用过程中也需要谨慎操作。生成的代码文件通常需要根据实际需求进行一定的修改和调整,以确保其与项目的业务逻辑一致。 希望对你有所帮助!如果你有更多关于MyBatis-Plus或其他方面的问题,可以继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值