先用Idea 安装Spring boot
安装完,用以下内容替代pom.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 <?xml version="1.0" encoding="UTF-8" ?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version> <scope>runtime</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.mybatis.generator</groupId> <configuration> <overwrite>true</overwrite> </configuration> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> </plugin> </plugins> </build> </project>
依赖如上:
Junit - 单元测试
lombok - 这里好像没用上,可装可不装
mysql-connector-java - 是MySQL Connector / J JDBC驱动程序 必须
mybatis-spring-boot-starter - mybatis 为 springboot 提供的快速集成的方案
插件:
org.springframework.boot
The Spring Boot Maven Plugin provides Spring Boot support in Apache Maven. It allows you to package executable jar or war archives, run Spring Boot applications, generate build information and start your Spring Boot application prior to running integration tests. 这是官网的介绍,大概意思就是 Spring boot maven 插件提供了对maven的支持,可以打成jar包和war包。 Maven 实际上是一个依赖插件执行的框架,每个任务实际上是由插件完成。可以理解为这个插件提供了构建项目的支持
org.mybatis.generator mybatis 逆向生成Model的插件
然后是 generatorConfig.xml
这个文件是默认不生成的,需要自己创建,在resources 目录下新建这个文件然后填入以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <!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="/Users/devilu/Downloads/mysql-connector-java-5.1.45.jar"/> <context id="simple" targetRuntime="MyBatis3Simple"> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="xxx"> </jdbcConnection> <javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java"/> <sqlMapGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/java"/> <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java"/> <table tableName="student" /> </context> </generatorConfiguration>
网上的一些generatorConfig.xml里面的配置都比较复杂不适合新人入手,这里提供最简单的一个配置:
这个是配置mysql 连接驱动, 可以在 https://mvnrepository.com/artifact/mysql/mysql-connector-java 自行选择版本下载
具体的每个标签的配置信息可以从官网看 http://mybatis.org/generator/configreference/xmlconfig.html
另外说一下, 这里我们使用的是Maven插件的方式 去逆向生成,其他的选择还有可以通过编写代码生成,但我认为使用maven插件的方式是最方便的,上面的工作都做完以后,点击右侧的maven按钮,应该就看到了如下选项
点击即可生成,一共两个文件,这里我这边就是Student,和StudentMapper
注意:在上面我们配置了 overwrite 为true,所以,会覆盖以前生成的文件,如果不需要去掉就可以了
true
ok,接下来就开始写单元测试了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package com.example.demo;import com.example.demo.mapper.StudentMapper;import com.example.demo.model.Student;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import java.util.List;@RunWith (SpringRunner.class ) @SpringBootTest public class StudentMapperTest { @Autowired private StudentMapper studentMapper; @Test public void selectTest () { List<Student> students = studentMapper.selectAll(); for (Student student: students){ System.out.println(student.getName()); } } }
在你生成的Mapper文件上添加@Mapper注解,如果文件多,使用@MapperScan
运行,可以看到已经正常工作了!