第一次使用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类型的大小。
探讨使用MyBatis代码生成工具时,Oracle数据库Number类型如何正确映射到Java类型的问题。介绍了根据Number长度自动匹配Java类型的标准,并指出即使配置forceBigDecimals为false,仍可能生成BigDecimal类型。

1万+

被折叠的 条评论
为什么被折叠?



