小唐开始学 Spring Boot——(4)代码生成器

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 小唐开始学 Spring Boot——(4)代码生成器

发前先吐槽一下,等到孩子把代码全都打完之后,他们告诉我有代码生成器这种好东西,为什么现在才说(无能狂怒)???

一、前期准备

1. 代码生成器下载

代码生成器下载

2.基础文件夹创建

为了之后更好的去调用文件

controller—————控制层(就是写我们网络地址)
domain——————结构(就是我们要使用的数据库表单结构结构,因为我们下面要用表的结构)
mapper——————我的理解就是我们所有要调用函数的集合
service——————逻辑层,我更喜欢称它为数据处理层,就是将我们整理好的数据,传到我们的mapper

这里还需要一个在resources层创建两个文件夹

generator————放置我们的代码生成器
mapper————对于上面mapper文件的实现,代码生成器会帮我们直接写出xml文件

二、开始!

1.配置pom.xml文件

我们直接打开我们的pom.xml文件,在里面找到我们的 plugins把这句话复制进去

<plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.0</version>
                <configuration>
                    <configurationFile>src/main/resources/generator/generator-config.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
            </plugin>

由于我们之前已经配置过,当这些文件没有的时候它会自动下载

详细见:小唐开始学 Spring Boot——(1)里面的配置IDEA里面的Maven

然后就是在我们已经创建好了的generator文件下去创建一个generator-config.xml文件

读者也可以在这里自行修改位置

2.配置generator-config.xml文件

我默认我们的小可爱,已经在上述地址创建了一个新的generator-config.xml文件

我们把下面类容复制到我们的generator-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!-- 修改数据库驱动位置 -->
    <classPathEntry location="C:\Users\twy\.m2\repository\mysql\mysql-connector-java\8.0.28\mysql-connector-java-8.0.28.jar"></classPathEntry>
    <context id="Mysql" targetRuntime="MyBatis3" defaultModelType="flat">
        <!-- 自动检查关键字,为关键字增加反引号 -->
        <property name="autoDelimitKeywords" value="true"/>
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <!--覆盖生成XML文件-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/>
        <!-- 生成的实体类添加toString()方法 -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!-- 修改数据库名 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/spring?serverTimezone=Asia/Shanghai"
                        userId="root"
                        password="123456">
        </jdbcConnection>
        <!-- domain类的位置 -->
        <javaModelGenerator targetProject="src\main\java"
                            targetPackage="com.example.test.domain"/>
        <!-- mapper xml的位置 -->
        <sqlMapGenerator targetProject="src\main\resources"
                         targetPackage="mapper"/>
        <!-- mapper类的位置 -->
        <javaClientGenerator targetProject="src\main\java"
                             targetPackage="com.example.test.mapper"
                             type="XMLMAPPER"/>
        <table tableName="account" domainObjectName="Test1"/>
    </context>
</generatorConfiguration>

2.1如果头文件爆红

特别是这一句,我们在他的前面有一个小灯泡

我们点击获取外部资源就好啦,英文版的为Fetch external resource

2.2修改数据库文件

因为每一个人的数据库驱动都是不一样的

我的数据库驱动在这里,大家可以在我们的外部库里面去找到我们mysql的位置

然后将下面这一个文件的地址赋值到我们的数据库驱动那里

2.3修改数据库

一个是要修改我们使用的数据库名

用户(一般人也都是root)

密码(一般也就是123456)

2.4修改生成文件的位置

3.配置编译器

因为我们在这里要用到maven的编译器,所以要更改一下我们的配置

在添加新配置那里添加我们的Maven

取文字和编写我们的编译配置

mybatis-generator:generate -e

4.运行

如果出现

就说明我们的代码生成成功了,我们也可以在我们的文件夹目录里面看到

测试

在测试开始之前我们别忘记了要在testmapper文件那里装配

@Mapper @Repository

然后我们就可以在service层编写代码了

小唐写了一个查询所有的函数

package com.example.test.service;
import com.example.test.domain.Test1;
import com.example.test.domain.Test1Example;
import com.example.test.mapper.Test1Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class TestService {
    @Autowired
    private Test1Mapper test1Mapper;
    public List<Test1> list()
    {
        return test1Mapper.selectByExample(new Test1Example());
    }
}

然后去写一下我们的controller层

package com.example.test.controller;
import com.example.test.domain.Test1;
import com.example.test.service.TestService;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
public class Testlist {
    @Resource
    private TestService testService;
    @GetMapping("/findid")
    public List<Test1> findID(){
        return testService.list();
    }
}

!!!

很帅的!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
770 1
|
JavaScript Java 关系型数据库
SpringBoot + Mybatis + Vue的代码生成器
SpringBoot + Mybatis + Vue的代码生成器
425 2
|
前端开发 Java 关系型数据库
小唐开始学 Spring Boot——(5)前端显示集成
小唐开始学 Spring Boot——(5)前端显示集成
|
Java 数据库连接 数据库
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
|
Java Python Spring
小唐开始学 Spring Boot——(2)Spring Boot核心配置与注解
小唐开始学 Spring Boot——(2)Spring Boot核心配置与注解
|
Java Maven Windows
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置
|
Java 数据库连接 数据库
CodeGenerator——SpringBoot整合MyBatisPlus代码生成器
CodeGenerator——SpringBoot整合MyBatisPlus代码生成器
2612 0
|
Oracle Java 关系型数据库
Generator【SpringBoot集成】代码生成+knife4j接口文档(2种模板设置、逻辑删除、字段填充 含代码粘贴可用)保姆级教程(注意事项+建表SQL+代码生成类封装+测试类)
Generator【SpringBoot集成】代码生成+knife4j接口文档(2种模板设置、逻辑删除、字段填充 含代码粘贴可用)保姆级教程(注意事项+建表SQL+代码生成类封装+测试类)
461 0
|
7月前
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
1188 0