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