背景:使用tdengine数据库进行数据订阅时报错,没有用mybatis

 java.sql.SQLException: cannot find Column in result at com.taosdata.jdbc.ws.tmq.WSConsumerResultSet.findColumn(WSConsumerResultSet.java:708) at com.taosdata.jdbc.AbstractResultSet.getTimestamp(AbstractResultSet.java:178) at com.taosdata.jdbc.tmq.ReferenceDeserializer.deserialize(ReferenceDeserializer.java:127) at com.taosdata.jdbc.ws.tmq.WSConsumer.doPoll(WSConsumer.java:152) at com.taosdata.jdbc.ws.tmq.WSConsumer.poll(WSConsumer.java:164) at com.taosdata.jdbc.tmq.TaosConsumer.poll(TaosConsumer.java:93) at cn.ben.ConsumerLoopFull.commitExample(ConsumerLoopFull.java:130) at cn.ben.ConsumerLoopFull.main(ConsumerLoopFull.java:652)

查阅资料后发现是数据库默认小写,导致名称对应不上

保证查询结果的列名(字段名)和实体类对应的上(无论是名称大小写,驼峰命名规则还是数据类型)

如果能查,类型对的上但是null,可以手动set(本人新手的方法,可能治标不治本)

resultBean.setGroup_id(new BigInteger(bean.get("group_id").toString()));
resultBean.setUuid(bean.get("uuid").toString());
resultBean.setSlaveaddress(bean.get("slaveaddress").toString());
resultBean.set_ts(bean.get("_ts").toString());

应该是其他数据库比如mysql也可以参考 

完美解决java.sql.SQLException: Column ' XXX ' not found._java.sql.sqlexception: column 'name' not found-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qq_44543508/article/details/91944052

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐