• mybatis-generator 详细配置及使用,爬坑记录


    mybatis-generator 详细配置及使用,爬坑记录

    提示:如果不成功一定是项目路径和 数据库配置出问题,本篇基于 MySQL 8.0.13,调试没有问题。

    如果失败,建议使用相同的项目结构,包名,进行重试,博主也是多次调试,才成功。一些常见问题,看报错提示信息是可以看懂的,加油。

    整个项目的源代码,最后,也会给出下载链接。

    这是根据数据库,生成后的项目结构:

    一、简介:

    mybatis-geneator 是一款 mybatis 自动代码生成工具,可以通过配置,快速生成 mapper 和 xml 文件。

    二、配置方法:

    (1)在项目的 pom.xml 文件中添加插件配置

    详细的 pom.xml 配置:

    <plugin>
    	<groupId>org.mybatis.generator</groupId>
    	<artifactId>mybatis-generator-maven-plugin</artifactId>
    	<version>1.3.7</version>
    
    	<dependencies>
    		<dependency>
    		  <groupId>org.mybatis.generator</groupId>
     		  <artifactId>mybatis-generator-core</artifactId>
              <version>1.3.7</version>
            </dependency>
    
            <dependency>
              <groupId>mysql</groupId>
              <artifactId>mysql-connector-java</artifactId>
              <version>8.0.13</version>
            </dependency>
         </dependencies>
    
         <executions>
            <execution>
              <id>mybatis generator</id>
              <phase>package</phase>
              <goals>
                <goal>generate</goal>
              </goals>
              <configuration>
                <!--允许移动生成的文件-->
                <verbose>true</verbose>
                <!--允许自动覆盖文件-->
                <overwrite>true</overwrite>
                <configurationFile>
                  src/main/resources/generatorConfig.xml
                </configurationFile>
           </configuration>
         </execution>
         </executions>
    
    
    </plugin>
    

    (2)根据自己配置的文件路径及名称,创建相应 generatorConfig.xml 文件,位置如下图:

    (3)先手动创建一些目录,在配置的时候回有提示,大大降低出错概率,整体目录结构:

    三、创建 MySQL 数据库,创建 2 两个表:

    之前介绍过多次命令行创建数据库表了,查看 MySQL - 最经典的 命令行操作数据库 + 表(增删改查实例)

    这次使用 Navicat for MySQL,如果没有安装请参考:Navicat for MySQL 最新版安装与破解 + 报错解决办法

    (1)建立连接,创建数据库:

    (2)数据库名,选择编码:

    (3)新建表:

    (4)填写表信息:

    主键:

    其他:

    表名为 user_info

    (5)插入一条信息:

    (6)细心的你可能发现了没有 upwd 存密码的字段,我们这里放在另外一张表上,新建表 user_pwd:

    四、编辑 mybatis-generator.xml 文件:

    (重要!)
    (请详细看注释!自行修改自己的配置信息)

    修改目录请自行对应,可放大查看:

    在这里插入图片描述

    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:起个名字 -->
        <!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 -->
        <context id="default" targetRuntime="MyBatis3">
    
    
            <!--jdbc的数据库连接-->
            <!--这里是以变量的形式定义,具体的值在 application.properties 文件中-->
            <!--jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC-->
            <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                            connectionURL="jdbc:mysql://127.0.0.1:3306/miaosha?serverTimezone=UTC"
                            userId="root"
                            password="xiaopengwei">
            </jdbcConnection>
    
            <!-- targetPackage:生成的实体类所在的包 -->
            <!-- targetProject:生成的实体类所在的硬盘位置 -->
            <!-- DataObject 类存放位置 -->
            <javaModelGenerator targetPackage="com.miaoshapro.dataobject"
                                targetProject=".srcmainjava">
                <!-- 是否允许子包 -->
                <property name="enableSubPackages" value="false" />
                <!-- 是否对modal添加构造函数 -->
                <property name="constructorBased" value="true" />
                <!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
                <property name="trimStrings" value="true" />
                <!-- 建立modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法 -->
                <property name="immutable" value="false" />
            </javaModelGenerator>
    
            <!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 -->
            <sqlMapGenerator targetPackage="mapping"
                             targetProject=".srcmain
    esources">
                <!-- 针对数据库的一个配置,是否把 schema 作为字包名 -->
                <property name="enableSubPackages" value="false" />
            </sqlMapGenerator>
    
            <!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 -->
            <javaClientGenerator type="XMLMAPPER"
                                 targetPackage="com.miaoshapro.dao" targetProject=".srcmainjava">
                <!-- 针对 oracle 数据库的一个配置,是否把 schema 作为字包名 -->
                <property name="enableSubPackages" value="true" />
            </javaClientGenerator>
    
            <!--生成对应表及类名-->
            <table tableName="user_info" domainObjectName="UserDO">
            </table>
            <table tableName="user_pwd" domainObjectName="UserPwdDO">
            </table>
        </context>
    </generatorConfiguration>
    
    

    五、执行 mybatis-generator 插件

    (1)打开配置:

    (2)点击 +,选择 Maven:

    (3)输入信息,命令:
    在这里插入图片描述

    (4)选中刚才创建的名称,点击执行:

    六、运行结果:

    (1):

    (2):

    (3):

    (4):

  • 相关阅读:
    SQLServer数据库优化常用语句
    雷军:用互联网思维改造传统产业
    互联网公司该向东莞学什么?
    企业管理:中层领导必看:什么叫工作到位?
    Web页面工作流设计器
    雷军:用互联网思维改造传统产业
    生成html页面客户端随机数和验证码
    IIS应用程序池频繁停止,任务管理器发现有多个w3wp.exe进程
    检测SqlServer服务器性能
    利用任务计划自动删除指定日期文件
  • 原文地址:https://www.cnblogs.com/xpwi/p/10231067.html
Copyright © 2020-2023  润新知