第一次使用MyBatise发现一个问题,使用MyBatise的代码自动生成工具时候,即便在配置文件中定义了
<javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver>
生成之后的实体中number类型转换成JAVA类型还是会被转换为BigDecimal类型。
后来发现问题是这样的
Oracle数据库,用mybatis-gen.xml 自动生成Java对象的时候,会根据number类型的长度不同生成不同的数据类型
number长度 | Java类型 |
1~4 | Short |
5~9 | Integer |
10~18 | Long |
18+ | BigDecimal |
所以必须指定number类型的大小。