目录
Spring Boot是一个开源的 Java 基础框架,它提供了快速开发、配置简单、独立运行等特点,可以轻松创建独立的、生产级别的 Spring 应用。MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
下面是一个基本的步骤,展示如何在 Spring Boot 应用中集成 MyBatis-Plus 并实现代码生成:
1. 添加依赖
在项目的 pom.xml 文件中添加 MyBatis-Plus 相关依赖。
<!-- 代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
2. 配置数据库连接
在 application.properties 或 application.yml 文件中配置数据库连接信息。
# 应用服务 WEB 访问端口
server:
ip: localhost
port: 9090
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/xuelang?serverTimezone=UTC
username: root
password: root
3. 配置 MyBatis-Plus
配置 MyBatis-Plus 的相关参数,如实体扫描路径、Mapper 扫描路径等
mybatis:
mapper-locations: classpath:mapper/*.xml #扫描所有mybatis的xml文件
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
4. 设置全局返回类
新建common包,新建Result类
package com.lyk.xuelang.common;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result{
private int code;
private String msg;
private Object data;
public static Result success() {
return new Result(200, "成功", null);
}
public static Result success(Object data) {
return new Result(200, "成功", data);
}
public static Result error(int code, String msg) {
return new Result(code, msg, null);
}
public static Result error() {
return new Result(500, "系统错误", null);
}
}
5. 使用 MyBatis-Plus 代码生成器
新建utils包,新建CodeGenerator类
package com.lyk.xuelang.utils;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import java.util.Collections;
public class CodeGenerator {
public static void main(String[] args) {
generate();
}
private static void generate() {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/xuelang?serverTimezone=GMT%2b8", "root", "root")
.globalConfig(builder -> {