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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 小唐开始学 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();
    }
}

!!!

很帅的!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
|
2月前
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
6月前
|
前端开发 Java 关系型数据库
小唐开始学 Spring Boot——(5)前端显示集成
小唐开始学 Spring Boot——(5)前端显示集成
|
6月前
|
Java 数据库连接 数据库
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
|
6月前
|
Java Python Spring
小唐开始学 Spring Boot——(2)Spring Boot核心配置与注解
小唐开始学 Spring Boot——(2)Spring Boot核心配置与注解
|
6月前
|
Java Maven Windows
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置
|
6月前
|
JavaScript Java 关系型数据库
SpringBoot + Mybatis + Vue的代码生成器
SpringBoot + Mybatis + Vue的代码生成器
81 2
|
6月前
|
Java 数据库连接 数据库
CodeGenerator——SpringBoot整合MyBatisPlus代码生成器
CodeGenerator——SpringBoot整合MyBatisPlus代码生成器
568 0
|
6月前
|
Oracle Java 关系型数据库
Generator【SpringBoot集成】代码生成+knife4j接口文档(2种模板设置、逻辑删除、字段填充 含代码粘贴可用)保姆级教程(注意事项+建表SQL+代码生成类封装+测试类)
Generator【SpringBoot集成】代码生成+knife4j接口文档(2种模板设置、逻辑删除、字段填充 含代码粘贴可用)保姆级教程(注意事项+建表SQL+代码生成类封装+测试类)
117 0
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
144 1