美文网首页
sharding-jdbc 分库分表报java.lang.Boo

sharding-jdbc 分库分表报java.lang.Boo

作者: 傑terry | 来源:发表于2019-11-23 17:27 被阅读0次

    项目简介

    最近公司mysql有个表数据量3000多W决定分表,用sharding-jdbc插件做分表,根据字段taskId做分片路由。

    问题现象

    where中带有分片键的查询没有问题,对于没有的带分片键的查询会报错

    Cause: java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.Integer
    

    并且查询有的数据报错,有的数据不报错。

    原因

    是由于mysql中的 tinyint(1) 类型的字段mysql默认当作boolean型处理在转成int时出错,将 tinyint(1) 改为int(1) 或者 tinyint(2) 后不再报错。
    或者jdbc加上:tinyInt1isBit=false

    疑惑

    不知道为什么 带有分片键的sql 就不会有这个问题?
    路过的大神可以一起讨论下。

    相关文章

      网友评论

          本文标题:sharding-jdbc 分库分表报java.lang.Boo

          本文链接:https://www.haomeiwen.com/subject/rlihwctx.html