序
上一篇文章 写了基于 Spring Boot
框架下的 Mybatis
、PageHelper
、tk.mybatis
以及逆向工程 Mybatis Generator
的使用方法和注意事项。总觉的自己忽略了一部分人,因为有些身处传统行业的同学,是还用不上 Spring Boot
的。所以,今天特意再出一篇基于 SSM
框架下的集成方法,并记录 Mybatis Generator
在 Eclipse
的使用。
一、搭建
SSM
框架的基本构建应该是每一位 Java
程序猿的必备技能。这里我就不做过多的赘述,直接上 pom
了。
pom.xml
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.idol</groupId>
<artifactId>ssm-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<mybatis.generator.version>1.3.5</mybatis.generator.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.1.12.RELEASE</version>
</dependency>
<!--引入spring webmvc的依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.12.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.12.RELEASE</version>
<scope>provided</scope>
</dependency>
<!-- mybatis框架包 start -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<!-- mybatis框架包 end -->
<!--json数据交互所需jar,start-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>
<!--json数据交互所需jar,end-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>
<!-- 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.4</version>
</dependency>
<!-- tk mybatis Begin -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
</dependency>
<!-- tk mybatis End -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 配置Maven的JDK编译级别 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<!-- tomcat7插件 -->
<!-- 注意:目前来说,maven中央仓库还没有tomcat8的插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8081</port>
<path>/</path>
</configuration>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${mybatis.generator.version}</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
项目的依赖配置完成,接下来就是编写 Mybatis Generator
相关的配置,基本的配置内容与 Spring Boot
版的配置方式没有什么明显的区别。当然需要注意的是,SSM
版的 generatorConfig.xml
配置文件中多了下面一行配置。
<!--指定特定数据库的jdbc驱动jar包所在磁盘的绝对路径-->
<classPathEntry location="E:\\mysql-connector-java-5.1.35.jar"/>
同时,还有一点和 Spring Boot
版一样需要注意是:我们自定义的 tk.mybatis.MyMapper
类是不能被 Spring IoC
扫描到的。
二、代码生成
Mybatis Generator
运行前,我们还需编写一个通用 Mapper
的接口。通常情况下我们只需继承 tk.mybatis.mapper.common.Mapper
和对应数据库的接口即可。
MyMapper
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
/**
* @author Supreme_Sir
* @version 1.0
* @className MyMapper
* @description 该类不可被 Spring IoC 扫描到
* @date 2020/11/19 17:18
**/
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
}
工程依赖及逆向工程配置完毕后就可以运行插件了。运行方式如下图所示:
以上就是在 IDEA
中的相关操作说明。如果不巧,你用的是 Eclipse
那就可以参照下面的步骤运行逆向工程。
- 在
Eclipse
中,pom.xml
文件是不需要配置mybatis-generator
插件的。即:不需要如下内容:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${mybatis.generator.version}</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
</dependencies>
</plugin>
-
在
Eclipse
中,需要安装mybatis-generator
插件,安装步骤如下。在
Help
工具中打开Eclipse Marketplace
选项,并搜索mybatis generator
进行安装即可。
- 在
Eclipse
中,逆向工程的运行方式是在generatorConfig.xml
文件上右键选择,选择Run Mybatis Generator
。
源码
附:
PageHelper GitHub
PageHelper 官网
通用 Mapper3 GitHub
通用 Mapper4 码云
-------------------------- 你未必能光明万丈,但你必须温暖有光。 --------------------------