• mybatis自动生成实体类/mapper.java/mapper.xml:mybatis-generator-config


    填错信息导致的常见问题

     

    一、pom里面添加配置

    SpringBoot项目创建完成后,在SpringBoot项目的src/main/resources目录下创建generatorConfiguration.xml文件。(有时候出现报错找不到文件,可以将文件放在pom.xml同级目录下)就是pom里面添加配置。加载plugins里面!注:红圈的路径对应的就是刚才添加的配置文件。

    1. org.mybatis.generator
    2. mybatis-generator-maven-plugin
    3. 1.3.5
    4. src/main/resources/mybatis-generator/mybatis-generator-cfg.xml
    5. true
    6. true
    7. org.mybatis.generator
    8. mybatis-generator-core
    9. 1.3.5

    二、添加运行配置、运行文件(对了记得吧application.properties后缀改为yml。不然会找不到yml。或者在之前的那个配置文件把yml改为properties,都可以。)

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    • 懒人专用:请copy
      mybatis-generator:generate -e

    三、配置信息

    注意:

    需要修改的地方:

    • javaModelGenerator  生成文件存放的地址。重点:targetProject指的是生成的文件存放地址,也可以是D:\。
    • 标签对应着一张你想转化的表。

    1. "1.0" encoding="UTF-8"?>
    2. "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    3. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    4. "D:\java\maven-repository\mysql\mysql-connector-java\8.0.22\mysql-connector-java-8.0.22.jar"/>
    5. "MySQLTables" targetRuntime="MyBatis3" defaultModelType="flat">
    6. "autoDelimitKeywords" value="true"/>
    7. "javaFileEncoding" value="utf-8"/>
    8. "beginningDelimiter" value="`"/>
    9. "endingDelimiter" value="`"/>
    10. "javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
    11. "xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
    12. "org.mybatis.generator.plugins.SerializablePlugin"/>
    13. "org.mybatis.generator.plugins.ToStringPlugin"/>
    14. "suppressAllComments" value="true"/>
    15. "suppressDate" value="false"/>
    16. "com.mysql.cj.jdbc.Driver"
    17. connectionURL="jdbc:mysql://192.168.x.xxx:3306/mybatis_test?serverTimezone=UTC&setUnicode=true&characterEncoding=utf8" userId="xxxx"
    18. password="xxxx">
    19. "nullCatalogMeansCurrent" value="true"/>
    20. "forceBigDecimals" value="false"/>
    21. "com.example.tkmybatis.model" targetProject="src/main/java">
    22. "enableSubPackages" value="false"/>
    23. "trimStrings" value="true"/>
    24. "mappers" targetProject="src/main/resources">
    25. "enableSubPackages" value="false"/>
    26. "com.example.tkmybatis.mapper" targetProject="src/main/java" type="XMLMAPPER">
    27. "enableSubPackages" value="false"/>
    28. "nullCatalogMeansCurrent" value="true"/>
    29. "t_%"
    30. enableCountByExample="false"
    31. enableUpdateByExample="false"
    32. enableDeleteByExample="false"
    33. enableSelectByExample="false"
    34. selectByExampleQueryId="false"
    35. enableSelectByPrimaryKey="true"
    36. enableUpdateByPrimaryKey="true"
    37. enableDeleteByPrimaryKey="true"
    38. >
    39. "useActualColumnNames" value="false"/>

    说明文字含义:

    这里说一下文件结构,总体由两部分组成,分别是XML文件头和标签。

    XML文件头:文件头中有一个mybatis-generator-config_1_0.dtd,它用于定义该配置文件中所有标签和属性的用法和限制。

    标签:标签内放置具体配置内容,有三个自己标签,分别是,在配置这三个标签的时候,要注意顺序,和这里列出的顺序要一致。

    标签:用来指定一个需要在配置中解析使用的外部属性文件,最多可以配置1个,也可以不配置。引入属性文件后,可以在配置中使用${property}这种形式的引用,通过这种方式引用属性文件中的属性值,对于后面需要配置的JDBC信息会很有用。它包含两个属性,分别是resource和url,二者只能使用其中一个,同时使用会报错,resource属性执行classpath下的属性文件,url属性指定系统上的特定文件。

    标签:这个标签属于可选,可配置多个,也可不配置,最常见的用法是通过属性location指定驱动的路径。

    标签:用于指定生成一组对象的环境,例如指定要连接的数据库,要生成的对象的类型和要处理的数据库中的表,该标签至少配置一个,可以配置多个。标签内只有一个必选属性id,用来唯一确定该标签,此外还有几个可选属性:defalutModelType、targetRuntime、introspectedColumnImpl,一般情况下,配置flat">就可以。

    defalutModelType属性:定义了MBG如何生成实体类,有三个可选值,分别是flat、hierarchical和conditional,通常使用flat,它表示“该模型只为每张表生成一个实体类,这个实体类包含表中的所有字段”。

    targetRuntime属性:用于指定生成代码的运行时环境,有两个可选值,分别是MyBatis3和MyBatis3Simple,MyBatis3是默认值,MyBatis3Simple表示不会生成于Example相关的方法。

    重点
    以下提几点需要注意的问题。

    1、注意mysql的版本问题,不能超过5 。博主遇到过问题超过五就报错。太久了忘了记录了。跟我一样选一样默认依赖。新建SpringBoot项目后MySql-Connector默认是8.几。所以加一个版本号就行。

    在这里插入图片描述
    2、配置文件里面的连接依赖和项目配置的依赖路径一致。不然也会报错。可直接右键jar包->find in path -> copy路径到右边配置文件对应位置即可。如果location配置的是yaml文件的情况下,上面用的是驱动包

     在这里插入图片描述


    3、还是开始提的pom里面的generator.xml路径一定要配对。参考文章

    1. 1.8
    2. org.springframework.boot
    3. spring-boot-starter-web
    4. org.springframework.data
    5. spring-data-commons
    6. org.springframework.boot
    7. spring-boot-starter-web-services
    8. mysql
    9. mysql-connector-java
    10. 5.1.46
    11. runtime
    12. org.projectlombok
    13. lombok
    14. true
    15. org.springframework.boot
    16. spring-boot-starter-test
    17. test
    18. org.junit.vintage
    19. junit-vintage-engine
    20. org.springframework.data
    21. spring-data-commons
    22. 2.1.5.RELEASE
    23. org.springframework.boot
    24. spring-boot-maven-plugin
    25. org.mybatis.generator
    26. mybatis-generator-maven-plugin
    27. 1.3.5
    28. src/main/resources/mybatis-generator/mybatis-generator-cfg.xml
    29. true
    30. true
    31. org.mybatis.generator
    32. mybatis-generator-core
    33. 1.3.5

  • 相关阅读:
    C语言扫雷游戏完整实现(上)
    互联网医院App开发:构建医疗服务的技术指南
    Gin 中使用 Cookie,Session
    PPT文件不能编辑的情况总结
    Spring Security和oauth2的关系
    linux 学习 day08 多线程
    P-MOS管开关机控制电路(手动按键控制和自动采样信号触发控制)
    Xpath的使用
    Leetcode 【1155. 掷骰子等于目标和的方法数】
    Ubuntu 上使用nginx部署vue项目
  • 原文地址:https://blog.csdn.net/weixin_43921491/article/details/126848630