Mybatis generator, 数据库text类型字段,自动生成WithBLOBs,改为自动生成String。

本文介绍如何通过配置MyBatis Generator中的JavaTypeResolver插件,实现将数据库的Text字段映射为Java中的String类型,避免生成实体类时出现xxxWithBLOBs的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置插件类型转换插件 配置 generatorConfig.xml 文件 加入配置项,

        <javaTypeResolver type="com.zhkj.frame.mybatis.generator.MyJavaTypeResolver">
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

配置类型转换插件类,将text字段映射到String类型


import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
import org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl;

public class MyJavaTypeResolver extends JavaTypeResolverDefaultImpl {
	/**
	 * 解决  数据库 Text 类型生成实体,   优化 查询,会生成xxxWithBLOBs 问题
	 */
	@Override
	public FullyQualifiedJavaType calculateJavaType(IntrospectedColumn introspectedColumn) { 
        FullyQualifiedJavaType answer = null;
        JdbcTypeInformation jdbcTypeInformation = null;
        // 如果是Text 转换为 varChar  其它相同类型也会受影响
        if(introspectedColumn.getJdbcType()==-1) {
        	introspectedColumn.setJdbcType(12);
            jdbcTypeInformation = typeMap.get(12);
        }else
        	jdbcTypeInformation = typeMap.get(introspectedColumn.getJdbcType());
        if (jdbcTypeInformation != null) {
            answer = jdbcTypeInformation.getFullyQualifiedJavaType();
            answer = overrideDefaultType(introspectedColumn, answer);
        }
		return answer;
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值