mysql-generator用法_mybatis使用generator自动生成代码时的类型转换

使用mybatis的generator自动生成代码,但是oracle数据库中number(6,2)总是自动转成BigDecimal,我想要转成的是float类型 这样就写了一个类型转换器,需要继承JavaTypeResolver接口 然后在mybaties配置文件generatorConfig.xml中类型转换配置位置添加上即可 j

使用mybatis的generator自动生成代码,但是oracle数据库中number(6,2)总是自动转成BigDecimal,我想要转成的是float类型

这样就写了一个类型转换器,需要继承JavaTypeResolver接口

然后在mybaties配置文件generatorConfig.xml中类型转换配置位置添加上即可

类型转换器MyJavaTypeResolver主要代码

public FullyQualifiedJavaType calculateJavaType(

IntrospectedColumn introspectedColumn) {

// TODO Auto-generated method stub

FullyQualifiedJavaType answer;

JdbcTypeInformation jdbcTypeInformation = typeMap

.get(introspectedColumn.getJdbcType());

if (jdbcTypeInformation == null) {

switch (introspectedColumn.getJdbcType()) {

case Types.DECIMAL:

case Types.NUMERIC:

if(introspectedColumn.getScale() > 0)

{//如果包含小数点则转换成float

answer = new FullyQualifiedJavaType(Float.class.getName());

}else{

if ( introspectedColumn.getLength() > 18

|| forceBigDecimals) {

answer = new FullyQualifiedJavaType(BigDecimal.class

.getName());

} else if (introspectedColumn.getLength() > 9) {

answer = new FullyQualifiedJavaType(Long.class.getName());

} else if (introspectedColumn.getLength() > 4) {

answer = new FullyQualifiedJavaType(Integer.class.getName());

} else {

answer = new FullyQualifiedJavaType(Short.class.getName());

}

}

break;

default:

answer = null;

break;

}

} else {

answer = jdbcTypeInformation.getFullyQualifiedJavaType();

}

return answer;

}

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值