MyBatis - 解决逆向工程生成 xxxKey & xxxWithBlos 实体类

简介: MyBatis - 解决逆向工程生成 xxxKey & xxxWithBlos 实体类

在做Mybatis 逆向工程生成 Javabean 时,结果发现生成多了一个 xxxKey 实体类,经过一番百度后知道了生成这个实体类的原因是表中存在联合主键,然后为了便于代码的重构,把实体和实体的关系隔绝到两个类,互相不干扰。


image.png

  • 生成类如图

由于表 Answersheet 和表 Score 中都存在联合主键,然后一个表直接生成对应的三个 JavaBean(xxx,xxxExample,xxxKey)。

如果想要正常生成,即不生成 xxxKey 实体类,只要在逆向工程的配置文件中的 context 标签里加上这个 defaultModelType="flat" 属性即可。(defaultModelType 为控制生成类方式)。

<context id="DB2Tables" targetRuntime="MyBatis3" defaultModelType="flat">

image.png

  • 加上之后再生成一次,结果发现这个 xxxKey 实体类没有了

补充一下

最近用mybatis的逆向工程生成代码的时候,发现的类多了一个 xxxWithBlos 的类,经过了解,这是因为数据库表中的一个字段是text 类型,而 mybatis 逆向工程生成类时,会为这个字段单独生成一个 xxxWithBlos 的类。

原因

text类型长度最大是65535,如果不用 blob 类型,就不能保证不溢出。

解决

同理,用以上解决生成xxxKey的方法即可。但是经过实践本人用以下方式不知道为什么是不可以的,如果上面的方式无效,可以尝试下这种,也许可以,当然下面这种办法我是行不通的,是第一种可以通过,目前未知原因。

<!-- 数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://ip:port/DBName" userId="root"
    password="root">
    <!-- 加入以下 -->
    <property name="nullCatalogMeansCurrent" value="true" />
</jdbcConnection>
目录
相关文章
|
XML Oracle Java
mybatis反向生成实体类、dao层以及映射文件
mybatis反向生成实体类、dao层以及映射文件
|
XML Java 数据库连接
mybatis-plus逆向工程详解
mybatis-plus逆向工程详解
656 0
|
10月前
|
XML Java 数据库连接
十一、MyBatis的逆向工程
十一、MyBatis的逆向工程
247 6
十一、MyBatis的逆向工程
|
Java 数据库连接 数据库
Mybatis逆向工程笔记小结
Mybatis逆向工程笔记小结
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
602 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
Java 数据库连接 数据库
spring和Mybatis的逆向工程
通过本文的介绍,我们了解了如何使用Spring和MyBatis进行逆向工程,包括环境配置、MyBatis Generator配置、Spring和MyBatis整合以及业务逻辑的编写。逆向工程极大地提高了开发效率,减少了重复劳动,保证了代码的一致性和可维护性。希望这篇文章能帮助你在项目中高效地使用Spring和MyBatis。
269 1
|
Java 数据库连接 Maven
文本,使用SpringBoot工程创建一个Mybatis-plus项目,Mybatis-plus在编写数据层接口,用extends BaseMapper<User>继承实体类
文本,使用SpringBoot工程创建一个Mybatis-plus项目,Mybatis-plus在编写数据层接口,用extends BaseMapper<User>继承实体类
|
XML Java 数据库连接
Mybatis逆向工程的2种方法,一键高效快速生成Pojo、Mapper、XML,摆脱大量重复开发
【5月更文挑战第10天】Mybatis逆向工程的2种方法,一键高效快速生成Pojo、Mapper、XML,摆脱大量重复开发
256 6
|
SQL 缓存 Java
Java框架之MyBatis 07-动态SQL-缓存机制-逆向工程-分页插件
Java框架之MyBatis 07-动态SQL-缓存机制-逆向工程-分页插件