0


mybatis-plus代码生成器

序号类型地址1MySQLMySQL操作之概念、SQL约束(一)2MySQLMySQL操作之数据定义语言(DDL)(二)3MySQLMySQL操作之数据操作语言(DML)(三)4MySQLMySQL操作之数据查询语言:(DQL)(四-1)(单表操作)5MySQLMySQL操作之数据查询语言:(DQL)(四-2)(多表查询)6MySQLMySQL操作之数据控制语言:(DC)(五)7MySQLMySQL管理之数据类型8MySQLMySQL管理之索引9MySQLMySQL管理之事务管理10MySQLMySQL管理之存储过程11MySQLMySQL管理之视图12MySQLMySQL管理之数据备份与还原13MySQLLinux(centos 7.5)服务器安装MySQL14MyBatisMyBatis从入门到多表关联15MyBatisMyBatis常用方法16MyBatisMybatis逆向工程的使用(附文件地址)17MyBatisspring boot连接Mybatis数据库的配置文件(MySql、SQLserver、Oracle)18MyBatis-PlusMybatis-Plus使用案例(包括初始化以及常用插件)19MyBatis-Plusmybatis-plus代码生成器

文章目录


一、新版代码生成器

1、项目案例

案例地址

https://download.csdn.net/download/weixin_44624117/68253214

2、需要更新位置

2.1 数据库连接信息

<1> 数据库连接信息 ======================================String url ="jdbc:mysql://127.0.0.1:3306/test";String username ="lydms";String password ="test01";

2.2 代码生成位置

<2> 代码生成位置 ==============================================.outputDir("D://generator/test");// 指定输出目录

**2.3包名、项目名、mapper路径 **

<3> 包名、项目名、mapper路径 ==============================================
builder.parent("com.baomidou.mybatisplus.samples.generator")// 设置父包名.moduleName("system")// 设置父包模块名.pathInfo(Collections.singletonMap(OutputFile.mapperXml,"D://generator/test/mapper"));// 设置mapperXml生成路径

2.4 生成的表名

<4> 生成的表名  ======================================================
builder.addInclude("lydms_test")// 设置需要生成的表名

3、项目目录结构

  1. 数据库配置(DataSourceConfig)
  2. 全局配置(GlobalConfig)
  3. 包配置(PackageConfig)
  4. 模板配置(TemplateConfig)
  5. 注入配置(InjectionConfig)
  6. 策略配置(StrategyConfig) 6.1 Entity 策略配置 6.2 Controller 策略配置 6.3 Service 策略配置 6.4 Mapper 策略配置

二、新版自定义模板生成

1、项目案例

案例地址

https://download.csdn.net/download/weixin_44624117/68977724

2、原理

其生成是取的resource中的模板进行生成的。
在这里插入图片描述
指定enableLombok() 模型生成的注解的类型
在这里插入图片描述
生成的文件

importcom.baomidou.mybatisplus.annotation.IdType;importcom.baomidou.mybatisplus.annotation.TableField;importcom.baomidou.mybatisplus.annotation.TableId;importcom.baomidou.mybatisplus.annotation.TableName;importlombok.Data;@Data@TableName("lydms_test_conf")publicclassLydmsTestConf{@TableId(value ="id", type =IdType.AUTO)privateString id;@TableField("conf_id")privateString confId;@TableField("conf_value")privateString confValue;@TableField("create_time")privateString createTime;@TableField("update_time")privateString updateTime;}

二、旧版代码生成器

1、pom.xml

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.2</version><relativePath/><!-- lookup parent from repository --></parent><groupId>com.lydms</groupId><artifactId>auto-mybatis</artifactId><version>0.0.1-SNAPSHOT</version><name>auto-mybatis</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--mybatis-plus的springboot支持--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.1</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.1.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><!--mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

2、执行文件代码

importcom.baomidou.mybatisplus.core.exceptions.MybatisPlusException;importcom.baomidou.mybatisplus.core.toolkit.StringPool;importcom.baomidou.mybatisplus.core.toolkit.StringUtils;importcom.baomidou.mybatisplus.generator.AutoGenerator;importcom.baomidou.mybatisplus.generator.InjectionConfig;importcom.baomidou.mybatisplus.generator.config.*;importcom.baomidou.mybatisplus.generator.config.po.TableInfo;importcom.baomidou.mybatisplus.generator.config.rules.NamingStrategy;importcom.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;importjava.util.ArrayList;importjava.util.List;importjava.util.Scanner;publicclassMysqlGenerator{/**
     * 读取控制台内容
     *
     * @param tip
     * @return
     */publicstaticStringscanner(String tip){Scanner scanner =newScanner(System.in);StringBuilder help =newStringBuilder();
        help.append("请输入"+ tip +":");System.out.println(help.toString());if(scanner.hasNext()){String ipt = scanner.next();if(StringUtils.isNotEmpty(ipt)){return ipt;}}thrownewMybatisPlusException("请输入正确的"+ tip +"!");}/**
     * RUN THIS
     *
     * @param args
     */publicstaticvoidmain(String[] args){// 代码生成器AutoGenerator mpg =newAutoGenerator();// 全局配置 1、代码路径(setAuthor、setOutputDir)GlobalConfig gc =newGlobalConfig();String projectPath =System.getProperty("user.dir");
        gc.setOutputDir(projectPath +"/auto-mybatis/src/main/java");
        gc.setAuthor("lydms");
        gc.setOpen(false);
        mpg.setGlobalConfig(gc);// 数据源配置 2、数据库连接信息DataSourceConfig dsc =newDataSourceConfig();
        dsc.setUrl("jdbc:mysql://10.128.99.02:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8");// dsc.setSchemaName("public");
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        mpg.setDataSource(dsc);// 包配置 3、模块名PackageConfig pc =newPackageConfig();
        pc.setModuleName(scanner("模块名"));
        pc.setParent("com.lydms.automybatis");
        mpg.setPackageInfo(pc);// 自定义配置InjectionConfig cfg =newInjectionConfig(){@OverridepublicvoidinitMap(){// to do nothing}};List<FileOutConfig> focList =newArrayList<>();
        focList.add(newFileOutConfig("/templates/mapper.xml.ftl"){@OverridepublicStringoutputFile(TableInfo tableInfo){// 自定义输入文件名称return projectPath +"/auto-mybatis/src/main/resources/mapper/"+ pc.getModuleName()+"/"+ tableInfo.getEntityName()+"Mapper"+StringPool.DOT_XML;}});
        cfg.setFileOutConfigList(focList);
        mpg.setCfg(cfg);
        mpg.setTemplate(newTemplateConfig().setXml(null));// 策略配置StrategyConfig strategy =newStrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//strategy.setSuperEntityClass("com.baomidou.mybatisplus.samples.generator.common.BaseE ntity");
        strategy.setEntityLombokModel(true);//strategy.setSuperControllerClass("com.baomidou.mybatisplus.samples.generator.common.B aseController");
        strategy.setInclude(scanner("表名"));
        strategy.setSuperEntityColumns("id");
        strategy.setControllerMappingHyphenStyle(true);
        strategy.setTablePrefix(pc.getModuleName()+"_");
        mpg.setStrategy(strategy);// 选择 freemarker 引擎需要指定如下加,注意 pom 依赖必须有!
        mpg.setTemplateEngine(newFreemarkerTemplateEngine());
        mpg.execute();}}

3、需要修改的位置

一共需要修改三个位置。

  1. 代码路径
// 全局配置 1、代码路径(setAuthor、setOutputDir)GlobalConfig gc =newGlobalConfig();String projectPath =System.getProperty("user.dir");
        gc.setOutputDir(projectPath +"/auto-mybatis/src/main/java");
        gc.setAuthor("lydms");
        gc.setOpen(false);
        mpg.setGlobalConfig(gc);
  1. 数据库连接信息(数据库连接地址和账号密码)
// 数据源配置 2、数据库连接信息DataSourceConfig dsc =newDataSourceConfig();
        dsc.setUrl("jdbc:mysql://10.128.99.02:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8");
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        mpg.setDataSource(dsc);
  1. 模块名称
// 包配置 3、模块名PackageConfig pc =newPackageConfig();
        pc.setModuleName(scanner("模块名"));
        pc.setParent("com.lydms.automybatis");
        mpg.setPackageInfo(pc);

4、各配置与项目位置关系

在这里插入图片描述

5、测试

启动之前项目目录结构:

在这里插入图片描述

需要输入模块名和数据库表名:

请输入模块名:
test
请输入表名:
account
15:01:53.868[main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator-==========================准备生成文件...==========================

生成的文件结果:
在这里插入图片描述

6、项目源码包

源码

https://download.csdn.net/download/weixin_44624117/20450700
标签: java mysql 数据库

本文转载自: https://blog.csdn.net/weixin_44624117/article/details/122095848
版权归原作者 ha_lydms 所有, 如有侵权,请联系我们删除。

“mybatis-plus代码生成器”的评论:

还没有评论