Mybatis反向工程出现BigDecimal类型解决办法

本文介绍如何在MyBatis逆向工程中指定数据库表字段转换后的类型,避免将NUMBER字段默认映射为BigDecimal类型带来的不便,通过配置generatorConfig.xml文件实现字段类型的精确控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要做什么?

Mybaitis逆向工程时指定表字段生成的类型

(Mybatis有时候会把NUMBER映射为BigDecimal类型,之后在操作实体类时很麻烦


怎么做?

1这里使用Mybatis逆向工程的项目来生成数据库表的实体类

导入项目,编辑“generatorConfig.xml”文件

<!--数据库连接的信息:驱动类、连接地址、用户名、密码(区分MySQL、Oracle)-->
<!-- 
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
	connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
	password="mysql">
</jdbcConnection>
 -->
<jdbcConnection driverClass="oracle.jdbc.OracleDriver"
	connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" 
	userId="scott"
	password="tiger">
</jdbcConnection>


2、修改生成pojo类、mapper映射文件和mapper接口位置



3不同情况生成pojo类对应字段类型是怎样的

3.1没有指定数据库表字段转换后的类型,如下图:

成的pojo类是这样的,NUMBER类型的字段在pojo类里都变成了BigDecimal类型,

操作麻烦,我的解决办法是 3.2




3.2指定数据库表字段转换后的类型,如下图:

<!-- 指定数据库表 -->
<table tableName="T_TABLE01">
	<!-- 指定ID字段 为 Integer类型 -->
	<columnOverride column="ID" javaType="java.lang.Integer"></columnOverride>
	<columnOverride column="PRICE" javaType="java.lang.Double"></columnOverride>
</table>

结果如下:






如果您发现错误,请及时提醒我更正,谢谢。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值