SpringBoot + Mybatis 反向工程
1.引入反向工程插件
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
完整pom
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.resources目录下创建generatorConfig.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>
<!-- 配置文件路径 -->
<properties resource="application.properties" />
<!--数据库驱动包路径 -->
<classPathEntry location="${drive.class.path}" />
<context id="MySQLTables" targetRuntime="MyBatis3">
<!--关闭注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true" /><!-- 是否取消注释 -->
<property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳 -->
</commentGenerator>
<!--数据库连接信息 -->
<jdbcConnection driverClass="${spring.datasource.jdbc.driver}"
connectionURL="${spring.datasource.url}" userId="${spring.datasource.username}" password="${spring.datasource.password}">
</jdbcConnection>
<!--生成的model 包路径 -->
<javaModelGenerator targetPackage="${model.package}"
targetProject="${target.project.java}">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--生成xml mapper文件 路径 -->
<sqlMapGenerator targetPackage="${xml.mapper.package}"
targetProject="${target.project.resources}">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成的mapper接口的包路径 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="${mapper.package}" targetProject="${target.project.java}">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 表与实体类的对应 -->
<table tableName="tb_users" domainObjectName="Users"
enableCountByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" enableUpdateByExample="false">
<property name="useActualColumnNames" value="false" />
</table>
</context>
</generatorConfiguration>
注
- tablename 表名
- domainObjectName 生成的实体类名
- useActualColumnNames 是否用表中的列名作为属性名,false情况下采用驼峰命名 例如 user_name 会生成 userName
3.application.properties
#加载数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#mybatis generator
drive.class.path=/绝对路径/mysql-connector-java-5.1.48.jar
spring.datasource.jdbc.driver=com.mysql.jdbc.Driver
model.package=com.example.demo.entity
mapper.package=com.example.demo.mapper
xml.mapper.package=com.example.demo.mapper
target.project.java=/项目路径/demo/src/main/java
target.project.resources=/项目路径/demo/src/main/resources
#mybatis generator 下的配置在反向工程后可以删除
4.反向工程开始
(这里提供一种简单的方式、另一种方式,笔者很早用过一次感觉麻烦点,已然忘记,感兴趣可自行百度)
5.成功
entity、mapper包没必要自己创建可自动生成
记录你生成的文件