一、打开idea创建项目
二、加单选择几个pom依赖【后续会手动修改pom依赖】
三、运行MAVEN
四、修改pom.xml文件
1、手动新增几个必须的依赖:数据库、mvc生成器
<dependencies>
<!-- mysql -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.32</version>
</dependency>
<!-- mybatis-flex SpringBoot版本 -->
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot-starter</artifactId>
<version>1.8.6</version>
</dependency>
<!-- MyBatis-Flex 代码生成器 -->
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-codegen</artifactId>
<version>1.8.6</version>
</dependency>
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.8.6</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
</dependencies>
2、修改最后一处项目构建配置,将 true改为 false
3、完整的pom.xml【仅供参考】
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="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>
<groupId>com.test</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>demo</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.6.13</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- mysql -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.32</version>
</dependency>
<!-- mybatis-flex SpringBoot版本 -->
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-spring-boot-starter</artifactId>
<version>1.8.6</version>
</dependency>
<!-- MyBatis-Flex 代码生成器 -->
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-codegen</artifactId>
<version>1.8.6</version>
</dependency>
<dependency>
<groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId>
<version>1.8.6</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.example.demo.DemoApplication</mainClass>
<!--<skip>true</skip>-->
<skip>false</skip>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
五、Mybatis-Flex生成器的工具类:CodegenUtil
1、我重新创建了一个util包,如图所示(仅供参考):
2、生成器直接在main方法中运行,然后右侧会有MVC结构项目框架
3、工具类源码
package com.example.demo.utils;
import com.mybatisflex.codegen.Generator;
import com.mybatisflex.codegen.config.GlobalConfig;
import com.zaxxer.hikari.HikariDataSource;
public class CodegenUtil {
public static void main(String[] args) {
//配置数据源
HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/数据库名称?characterEncoding=utf-8");
dataSource.setUsername("数据库账号");
dataSource.setPassword("数据库密码");
//创建配置内容,两种风格都可以
GlobalConfig globalConfig = createGlobalConfigUseStyle1();
//通过 datasource 和 globalConfig 创建代码生成器
Generator generator = new Generator(dataSource, globalConfig);
//生成代码
generator.generate();
}
/**
* 代码生成器方式1
*
* @return
*/
public static GlobalConfig createGlobalConfigUseStyle1() {
//创建配置内容
GlobalConfig globalConfig = new GlobalConfig();
//设置根包
globalConfig.setBasePackage("com.example.demo");
//文档注释 作者名
globalConfig.getJavadocConfig().setAuthor("作者姓名").setSince("创建日期");
//设置表前缀和只生成哪些表,赌赢的entity类
//示例:globalConfig.setGenerateTable("user","type","order");
globalConfig.setGenerateTable("数据表名1","数据表名2","数据表名3");
//设置生成 entity
globalConfig.enableEntity();
// 启用 Lombok
globalConfig.setEntityWithLombok(true);
// 设置项目的JDK版本,项目的JDK为14及以上时建议设置该项,小于14则可以不设置
// globalConfig.setJdkVersion(17);
//启用 Controller 生成
globalConfig.enableController();
//启用 Service 生成
globalConfig.enableService();
//启用 ServiceImpl 生成
globalConfig.enableServiceImpl();
//设置生成 mapper
globalConfig.setMapperGenerateEnable(true);
//启用 MapperXml 生成
globalConfig.enableMapperXml();
// 启用 TableDef 生成
globalConfig.enableTableDef();
//不设置会重复类
globalConfig.getTableDefConfig()
.setClassPrefix("My")
.setClassSuffix("Def");
//可以单独配置某个列
//ColumnConfig columnConfig = new ColumnConfig();
//columnConfig.setColumnName("tenant_id");
//columnConfig.setLarge(true);
//columnConfig.setVersion(true);
//globalConfig.setColumnConfig("tb_account", columnConfig);
return globalConfig;
}
}
六、配置appliaction.properties文件
# 项目端口号
server.port=10001
# application.properties 示例
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名称?useSSL=false&serverTimezone=UTC
spring.datasource.username=数据库账号
spring.datasource.password=数据库密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
七、删除示例的代码
八、启动类上添加注解
在启动类添加上自动扫描指定包路径下的 Mapper 接口,并注册为 Spring Bean,从而避免手动为每个 Mapper 接口添加 @Mapper
注解
//根据你自己包路径填写
@MapperScan("com.自己的mapper包路径.mapper")
九、正式启动【Mybatis-Flex启动速度很快,我很喜欢的】
1、如果有报错,点击:启用注解处理,再运行就可以