Mybatis逆向工程:根据创建好的数据库表,生成对应的实体类、DAO、映射文件
文章目录
- 开发环境
- 1.新建SpringBoot应用
- 2.添加逆向工程插件依赖
- 3.执行逆向生成
开发环境
- 开发工具:IntelliJ IDEA 2021.3.3 (Ultimate Edition)
- SpringBoot版本:2.5.12
- mysql驱动依赖版本:5.1.47
- mybatis逆向工程插件版本:1.3.5
- 通用mapper依赖版本:4.1.5
- JDK版本:1.8
1.新建SpringBoot应用
- 新建项目参考链接:https://blog.csdn.net/lidasha_521/article/details/123988735
2.添加逆向工程插件依赖
- 添加Mybatis的maven插件,引入其他两个所需的依赖
<!-- 添加mybatis逆向工程插件 -->
<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</version><configuration><!-- 获取配置文件路径 --><configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile><!-- 当生成的类已经存在时,是否覆盖 --><overwrite>true</overwrite></configuration><!-- 添加mybatis逆向工程所需的依赖 --><dependencies><!-- 添加通用mysql驱动依赖 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!-- 添加通用Mapper依赖 --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.1.5</version></dependency></dependencies>
</plugin>
-
逆向工程配置文件
- 在SpringBoot项目的
src/main/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><context id="DB2Tables" targetRuntime="MyBatis3Simple" defaultModelType="flat"><!-- 通用 Mapper 继承的接口 --><plugin type="tk.mybatis.mapper.generator.MapperPlugin"><property name="mappers" value="tk.mybatis.mapper.common.Mapper"/></plugin><commentGenerator><!-- 不生成时间戳 --><property name="suppressDate" value="true"/><!-- 生成注解 --><property name="suppressAllComments" value="false"/><!-- 注解采用数据库的标注,suppressAllComments 必须设置为 false 才会生效 --><property name="addRemarkComments" value="true"/></commentGenerator><!-- 数据库连接信息 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/数据库名称?characterEncoding=utf8"userId="数据库用户名"password="数据库密码"><!-- oracle 获取数据库注解的方式,想要获取数据库注解必须添加 --><!-- <property name="remarksReporting" value="true"/> --><!-- mysql 获取数据库注解的方式,想要获取数据库注解必须添加 --><property name="useInformationSchema" value="true"/><!-- 其它类型数据库暂不支持 --></jdbcConnection><!-- 生成实体类位置 --><javaModelGenerator targetPackage="com.example.tkmapper.demo.entity" targetProject="src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 生成的 xml 映射文件位置 --><sqlMapGenerator targetPackage="/" targetProject="src/main/resources/mapper"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- 生成 mapper 接口的位置 --><javaClientGenerator type="XMLMAPPER" targetPackage="com.example.tkmapper.demo.dao" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!-- 数据表 和 JAVA 实体的映射,tableName 表名,domainObjectName 实体名 --><table tableName="users" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table><!-- 如果想要一次性生成所有表,可以把 tableName 配置为 %,一般不推荐这么干,开发项目的时候最好是要用到哪些表,才去生成 --><!-- <table tableName="%"/> --></context> </generatorConfiguration>
- 在SpringBoot项目的