目录
看完有收获给我点个赞这对我很重要🌹🌹🌹🌹
你的点赞让我的创作更有动力⭐⭐⭐⭐⭐
代码生成器(新)
注意
适用版本:mybatis-plus-generator 3.5.1 及其以上版本,对历史版本不兼容!
官方配置文档: 代码生成器配置新 | MyBatis-Plus
一、首先新建一个springboot项目
1.点击新建下面选择Spring Initalizr
2.我是使用的maven和jdk8如是和我使用一样的配置的可以和我选择一样的配置,名称是你此项目的名称可以随机指定
3.选择需要的依赖,我这里选择的是web、lombok、mysql依赖,可以根据自己具体的需求选择依赖但是这个地方只需要这三个就绰绰由于了,选择完点击创建就创建好了一个最简单的springboot项目。
这个地方创建项目在主项目启动的时候报错可能是你没有配置好maven建议您先去学习配置maven的相关操作
二、连接mysql数据库
三、导入pom.xml依赖
<!--mybatis-plus依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!--MP代码生成器依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!--模板引擎依赖-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
四、编写application.yml配置文件
#mysql配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
password: wsndqd857857
username: root
url: jdbc:mysql://localhost:3306/votedb?&useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
server:
port: 8086
五、导入配置生成代码
package com.ltx.mpcode;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.Collections;
public class CodeGeneration {
/**
* 根据表名生成相应结构代码
* @param databaseName 数据库名
* @param tableName 表名
*/
public static void Generation(String databaseName,String... tableName){
FastAutoGenerator.create("jdbc:mysql://localhost:3306/"+databaseName+"?&useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai","root","wsndqd857857")
.globalConfig(builder -> {
builder.author("罗添煦")
//启用swagger
//.enableSwagger()
//指定输出目录
.outputDir(System.getProperty("user.dir")+"/src/main/java");
})
.packageConfig(builder -> {
builder.entity("entity")//实体类包名
.parent("com.ltx.mpcode")//父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名
.controller("controller")//控制层包名
.mapper("dao")//mapper层包名
//.other("dto")//生成dto目录 可不用
.service("service")//service层包名
.serviceImpl("service.impl")//service实现类包名
//自定义mapper.xml文件输出目录
.pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"/src/main/resources/mapper"));
})
.strategyConfig(builder -> {
//设置要生成的表名
builder.addInclude(tableName)
//.addTablePrefix("sys_")//设置表前缀过滤
.entityBuilder()
.enableLombok()
.enableChainModel()
.naming(NamingStrategy.underline_to_camel)//数据表映射实体命名策略:默认下划线转驼峰underline_to_camel
.columnNaming(NamingStrategy.underline_to_camel)//表字段映射实体属性命名规则:默认null,不指定按照naming执行
.idType(IdType.AUTO)//添加全局主键类型
.formatFileName("%s")//格式化实体名称,%s取消首字母I,
.mapperBuilder()
.enableMapperAnnotation()//开启mapper注解
.enableBaseResultMap()//启用xml文件中的BaseResultMap 生成
.enableBaseColumnList()//启用xml文件中的BaseColumnList
.formatMapperFileName("%sMapper")//格式化Dao类名称
.formatXmlFileName("%sMapper")//格式化xml文件名称
.serviceBuilder()
.formatServiceFileName("%sService")//格式化 service 接口文件名称
.formatServiceImplFileName("%sServiceImpl")//格式化 service 接口文件名称
.controllerBuilder()
.enableRestStyle();
})
// .injectionConfig(consumer -> {
// Map<String, String> customFile = new HashMap<>();
// // 配置DTO(需要的话)但是需要有能配置Dto的模板引擎,比如freemarker,但是这里我们用的VelocityEngine,因此不多作介绍
// customFile.put("DTO.java", "/templates/entityDTO.java.ftl");
// consumer.customFile(customFile);
// })
.execute();
}
}
执行代码生成文件