关于mysql的tinyint(1)自动转成布尔类型的处理

现象:java往es同步数据的时候有一个字段,手动改mapping的为byte,short,long,依然报错:Preview of field's value: 'false'

原因:应该是mysql的导出Jar会默认将tinyint(1)转换为boolean

解决办法:

(1)数据库改为tinyint(4),tinyint(4)就会默认转成数字,es的mapping用byte就能接受

(2)连接数据库的url中添加&TreatTinyAsBoolean=false&tinyInt1isBit=false

(3)查询时将tinyint(1)字段乘以1后,再作为结果输出,后台mapping使用integer即可

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值