逆向工程
所谓逆向工程,就是通过数据库表,来自动生成实体类、dao 接口和 mapper 文件 。重要说明:本逆向工程使用的 mysql 版本是低版本 5.1.36!经测试 , 如果使用高版本如 8.xxx,很大概率会生成有问题!所以建议项目中统一使用低版本的 MySQL 。
需要注意的是,本逆向工程是最好配合 tkMapper 环境使用,因为,有一些配置和 tkMapper 相关,如生成的 dao 接口会继承自定义的通用接口模板,而该通用的接口模板就是继承了 tkMapper 中的两个接口,从而才能使用 tkMapper 提供的通用数据操作方法;还有 , 生成的实体类上的注解需要依赖 tkMapper 环境 。
- 在 pom.xml 中 build 的 plugins 下添加下列生成器插件
<!-- mybatis-generator-maven-plugin --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.6</version><!-- 生成器配置文件位置;如果还没有添加,可以先注释 , 添加后再放开 --><configuration><configurationFile>${basedir}/src/main/resources/generator/GeneratorConfig.xml</configurationFile></configuration><!-- 插件所需的两个依赖 --><dependencies><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.36</version></dependency><!-- mapper --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.1.5</version></dependency></dependencies></plugin>
注意:推荐直接复制,但如果想自己在 maven 仓库中搜索,注意关键词:mybatis-generator-maven-plugin
,并且,千万注意,你搜索到的肯定是依赖,而并非插件!此时,你只需要复制依赖的 gav 坐标,自己在 pom 中创建空 plugin 标签,将 gav 坐标复制进去即可?。ㄈ绻喙匾览邓⑿绿砑邮О?nbsp;, 可以复制到 dependences 下,重新刷新添加试试,添加成功后复制回来即可)
- 注意查看项目中是否自定义有通用接口模板 GeneralDao , 使其继承 tkMapper 的两个接口;如果没有,则在 dao 同级目录,创建 general 目录,在 general 目录下创建自定义通用接口模板 GeneralDao,继承 tkMapper 的两个接口;
public interface GeneralDao<T> extends Mapper<T>, MySqlMapper<T> {}
- 在
resources/generator
下添加GeneratorConfig.xml
生成器配置(创建并复制后改主要配置即可)
主要需要配置:配置数据库连接、配置实体类存放路径、配置 XML 存放路径、配置 DAO 存放路径、配置 GeneralDao
注意:默认配置是生成指定数据库中所有表,也可以自定义的指定只生成哪些表
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><!-- 引入数据库连接配置 --><!--<properties resource="jdbc.properties"/>--><context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"><property name="beginningDelimiter" value="https://www.huyubaike.com/biancheng/`"/><property name="endingDelimiter" value="https://www.huyubaike.com/biancheng/`"/><!-- 配置 GeneralDao --><plugin type="tk.mybatis.mapper.generator.MapperPlugin"><property name="mappers" value="https://www.huyubaike.com/biancheng/com.luis.general.GeneralDao"/></plugin><!-- 配置数据库连接(注意数据库版本问题,需要使用低版本的,高版本可能出现问题?。?--><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/springdb?serverTimezone=UTC"userId="root" password="luis"></jdbcConnection><!-- 配置实体类存放路径 --><javaModelGenerator targetPackage="com.luis.beans" targetProject="src/main/java"/><!-- 配置 XML 存放路径 --><sqlMapGenerator targetPackage="/" targetProject="src/main/resources/mappers"/><!-- 配置 Dao 存放路径 --><javaClientGenerator targetPackage="com.luis.dao" targetProject="src/main/java" type="XMLMAPPER"/><!-- 配置需要指定生成的数据库和表,% 代表所有表 --><table tableName="%"><!-- mysql 配置 --><!--<generatedKey column="id" sqlStatement="Mysql" identity="true"/>--></table><!--<table tableName="tb_roles">--><!--<!– mysql 配置 –>--><!--<generatedKey column="roleid" sqlStatement="Mysql" identity="true"/>--><!--</table>--><!--<table tableName="tb_permissions">--><!--<!– mysql 配置 –>--><!--<generatedKey column="perid" sqlStatement="Mysql" identity="true"/>--><!--</table>--></context></generatorConfiguration>
推荐阅读
- Websocket集群解决方案
- 七 SpringCloud - 微信支付
- SpringBoot 01: JavaConfig + @ImportResource + @PropertyResource
- 幻塔虚空深渊怎么玩
- 16.python中的回收机制
- 怎么设置彩铃(中国移动彩铃设置)
- 火影忍者中第二代火影是怎么死的(火影忍者二代火影哪集死的)
- 《火影忍者》中一代和二代火影是怎么死的(火影忍者几代火影之死)
- 第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料
- 上海交大附中自主招生?急 上海交大附中招生网