当前位置: 首页 > article >正文

使用插件生成 Mybatis 实体类及接口

插件依赖

    <build>
        <plugins>
            <!--mybatis代码自动生成插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.6</version>
                <configuration>
                    <!--配置文件的位置-->
                    <configurationFile>GeneratorMapper.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <dependency>
                        <!-- MySQL驱动 -->
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.49</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

GeneratorMapper.xml

        这个 xml 文件放在跟 pom.xml 同级的目录下:

GeneratorMapper.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>

    <!-- 指定连接数据库的JDBC驱动包所在位置,指定到你本机的完整路径 -->
<!--    已经在 pom.xml 引入了依赖,所以不需要再在这里指定驱动位置-->
<!--    <classPathEntry location="E:\mysql-connector-java-5.1.38.jar"/>-->


    <!-- 配置table表信息内容体,targetRuntime指定采用MyBatis3的版本 -->
    <context id="tables" targetRuntime="MyBatis3">

        <!-- 抑制生成注释,由于生成的注释都是英文的,可以不让它生成 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>

        <!-- 配置数据库连接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/jbp"
                        userId="root"
                        password="123456">
        </jdbcConnection>

        <!-- 生成model类(entity实体类),targetPackage指定model类的包名, targetProject指定生成的model放在哪个工程下面-->
        <javaModelGenerator targetPackage="com.graduation_project.api.model"
                            targetProject="D:\Java\project\graduation_project\ready\src\main\java">
            <property name="enableSubPackages" value="false" />
            <property name="trimStrings" value="false" />
        </javaModelGenerator>

        <!-- 生成MyBatis的Mapper.xml文件,targetPackage指定mapper.xml文件的包名, targetProject指定生成的mapper.xml放在哪个工程下面 -->
        <sqlMapGenerator targetPackage="mappers"
                         targetProject="D:\Java\project\graduation_project\ready\src\main\resources">
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>

        <!-- 生成MyBatis的Mapper接口类文件,targetPackage指定Mapper接口类的包名, targetProject指定生成的Mapper接口放在哪个工程下面 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.graduation_project.dataservice.mapper"
                             targetProject="D:\Java\project\graduation_project\ready\src\main\java">
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>

        <!-- 数据库表名及对应的Java模型类名 -->
        <table tableName="b_product_info" domainObjectName="ProductInfo"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"/>

        <table tableName="b_bid_info" domainObjectName="BidInfo"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"/>


        <table tableName="b_income_record" domainObjectName="IncomeRecord"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"/>


        <table tableName="b_recharge_record" domainObjectName="RechargeRecord"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"/>


        <table tableName="u_user" domainObjectName="User"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"/>


        <table tableName="u_finance_account" domainObjectName="FinanceAccount"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"/>
    </context>

</generatorConfiguration>

生成代码

        完成上述两个配置的设置后,点击 mybatis-generator:generate 生成代码即可。

 


http://www.kler.cn/a/470454.html

相关文章:

  • gateway的路径匹配介绍
  • [ LeetCode 75 ] 1768. 交替合并字符串
  • LabVIEW四旋翼飞行器姿态监测系统
  • LeetCode:2274. 不含特殊楼层的最大连续楼层数(排序 Java)
  • 企业网络性能监控
  • 求职:求职者在现场面试中应该注意哪些问题?
  • 深度解析Linux中的make/Makefile的使用方法
  • 算法的学习笔记—不用常规控制语句求 1 到 n 的和
  • Innodisk iSMART V6使用说明_SSD还能用多久?已经读写了多少次数?……
  • 依据多波段栅格数据进行建筑统计操作(基于ArcGIS操作)
  • Nginx linux安装步骤(超详细)
  • Flink DataSet API
  • 数据结构 - inode
  • 三甲医院等级评审八维数据分析应用(六)--数据安全与隐私保护篇
  • Python多分类Logistic回归详解与实践
  • 06.HTTPS的实现原理-HTTPS的握手流程(TLS1.3)
  • 数据分析思维(七):分析方法——群组分析方法
  • Go语言中的 os.Stat() 与 os.Lstat() 实际应用中,你该如何选择?
  • 高阶知识库搭建实战六、(向量数据库Faiss安装)(练习推荐)
  • Spring Boot 3 【八】整合实现高可用 Redis 集群
  • uniapp本地加载腾讯X5浏览器内核插件
  • TCP 如何获取端口信息
  • NLP项目实战——基于Bert模型的多情感评论分类(附数据集和源码)
  • go如何从入门进阶到高级
  • 【网络】ARP表、MAC表、路由表
  • 【Linux知识】Linux防火墙介绍