SpringBoot中使用Mybatis逆向工程(实体类含数据库注释)

Mybatis逆向工程:根据创建好的数据库表,生成对应的实体类、DAO、映射文件


开发环境

  • 开发工具: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应用

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>
    

3.执行逆向生成

在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你的泪丶烫伤我的脸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值