配置插件类型转换插件 配置 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;
}
}