在使用mybatis-generator生成的代码中,对于数值类型的字段,一般会根据字段的大小生成Short和Long,但是在实际使用中,我习惯将整数定义为整型,另外发现Float类型会生成Double的实体,所以一直希望把这一点改一下。
我们先找到生成实体的地方,在org.mybatis.generator.codegen.mybatis3.model.BaseRecordGenerator,我们找到生成实体成员的地方,在方法getCompilationUnits()里面找到这句代码:
Field field = getJavaBeansField(introspectedColumn, context, introspectedTable);
通过getJavaBeansField这个方法可以找到,获取实体成员类型的关键代码为:
FullyQualifiedJavaType fqjt = introspectedColumn.getFullyQualifiedJavaType();
我们通过setFullyQualifiedJavaType这个方法,可以找到生成这个类的地方:
org.mybatis.generator.internal.db.DatabaseIntrospector的calculateExtraColumnInformation()这个方法。
我们找到
FullyQualifiedJavaType fullyQualifiedJavaType = javaTypeResolver.calculateJavaType(introspectedColumn);
这句代码,进到calculateJavaType()这个方法里面,发现了关键的代码:
JdbcTypeInformation jdbc