小唐开始学 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();
    }

}

!!!
很帅的!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_52521533/article/details/123911703