文章目录
发前先吐槽一下,等到孩子把代码全都打完之后,他们告诉我有代码生成器这种好东西,为什么现在才说(无能狂怒)???
一、前期准备
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();
}
}
!!!
很帅的!