canal 数字类型的字段,如果值为Null,会报错 For input string ""

mccptt67  于 4个月前  发布在  其他
关注(0)|答案(6)|浏览(46)

比如Java中使用Integer、Long、BigDecimal等类型的字段,数据表中字段的值为null,canal就会报错:For input string ""
因为canal默认直接把值为Null的数字类型字段变成空字符串,所以报这个错误

djmepvbi

djmepvbi1#

报错和复现条件,描述的清楚一些,包括canal版本

canal.deployer-1.1.7-SNAPSHOT

t40tm48m

t40tm48m2#

自己写个handler类,实现EntryHandler接口

xkftehaa

xkftehaa3#

你搞个int字段,java里面Integer属性。然后你在数据表里面把字段值在null和数字之间来回修改一下,就能看到这个报错

ss2ws0br

ss2ws0br4#

用的这个依赖
	<dependency>
		<groupId>top.javatool</groupId>
		<artifactId>canal-spring-boot-starter</artifactId>
		<version>1.2.1-RELEASE</version>
	</dependency>
am46iovg

am46iovg5#

这个解决了没,我也遇到了,用的一模一样的版本

omhiaaxx

omhiaaxx6#

报错和复现条件,描述的清楚一些,包括canal版本

相关问题