MySQL 表中某欄位型別為 DECIMAL,MyBatis Generator 逆向工程導出實體類失敗;將該欄位改為 INT 後即可正常導出。
DECIMAL 資料,且精度/標度超出 Java BigDecimal 預設映射範圍,或資料包含非數值字符(如 NULL、空字串)導致類型解析異常。DECIMAL/NUMERIC 的 JDBC 型別碼處理有已知 Bug。<columnOverride> 未正確指定 javaType,導致預設映射衝突。<table tableName="your_table">
<columnOverride column="decimal_col" javaType="java.math.BigDecimal" jdbcType="DECIMAL" />
</table>
UPDATE your_table SET decimal_col = NULL WHERE decimal_col NOT REGEXP '^[0-9]+(\.[0-9]+)?$';ALTER TABLE your_table MODIFY decimal_col INT; 並同步更新實體類型為 Integer 或 Long。SELECT column_name, data_type, numeric_precision, numeric_scale FROM information_schema.columns WHERE table_name='your_table'; 核對型別元數據。