代码生成+mybatisx-Generator

本文介绍了在SpringBoot项目中使用mybatisx-Generator插件和Freemarker代码方式生成数据库映射文件(Mapper)的过程,包括配置步骤和示例代码。同时提及了IDEA连接数据库时可能遇到的时区问题。
摘要由CSDN通过智能技术生成

背景

搭建springboot+mybatisplus,想使用代码生成,找到了两个方法。

方法一:mybatisx-Generator(插件生成代码)使用

打开插件

填写怎么生成,及效果图

 

附加有翻译的图, 图来源

 方法二:代码方式生成

导入依赖

<!-- freemarker(代码生成) -->
    <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
      <version>2.3.31</version>
    </dependency>


写一个java类:CodeGenerator 


/**
 * TODO
 *代码生成器
 * @Description
 * @Author 27388
 * @Date 2023/9/21 18:46
 **/
public class CodeGenerator {
    public static void main(String[] args){
            //连接数据库名称
            String url = "jdbc:mysql:///practice";
            //数据库基本信息
            String username = "root";
            String password = "123456";
            String author = "lzh";
            // 实体类等文件位置
            String outputDir = "D:\\IDEA\\data\\function\\denglu\\src\\main\\java";
            String basePackage = "com.lzh";
            String moduleName = "user";
            // mapper文件位置
            String mapperLocation = "D:\\IDEA\\data\\function\\denglu\\src\\main\\resources\\mapper\\" + moduleName;
            //生成的数据表名,可选多个,通过逗号隔开
            String tableName = "tb_user";
            // 表的前缀
            String tablePrefix = "tb_";
            FastAutoGenerator.create(url, username, password)
                    .globalConfig(builder -> {
                        builder.author(author) // 设置作者
                                //.enableSwagger() // 开启 swagger 模式
                                //.fileOverride() // 覆盖已生成文件
                                .outputDir(outputDir); // 指定输出目录
                    })
                    .packageConfig(builder -> {
                        builder.parent(basePackage) // 设置父包名
                                .moduleName(moduleName) // 设置父包模块名
                                .pathInfo(Collections.singletonMap(OutputFile.xml, mapperLocation)); // 设置mapperXml生成路径
                    })
                    .strategyConfig(builder -> {
                        builder.addInclude(tableName) // 设置需要生成的表名
                                .addTablePrefix(tablePrefix); // 设置过滤表前缀
                    })
                    .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                    .execute();

    }
}

 

填写相关信息后,直接运行,两者效果图如下

附加idea连接数据库时候的时区问题

 

 

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值