本地环境是JDK1.6,tomcat6,7,mysql5.5,java代码里使用了:
select group_concat(id) funIds,group_concat(name) funNames from fun这样的语句,id是int类型,name是varchar,本地一切正常。
发布到远程环境:jdk1.7,tomcat8,mysql5 程序开始报错:
java.lang.ClassCastException: [B cannot be cast to java.lang.Boolean
具体没有查证为什么jdk1.7转出来的是Boolean,把int类型的id转为char,问题解决:
select group_concat(cast(id as char)) funIds,group_concat(name) funNames from fun
使用时取:xxx.getStr("funIds")
希望对遇到此问题的朋友有用。
查证是mysql版本问题感谢分享,顶一个 <imgsrc="http://www.oschina.net/js/ke/plugins/emoticons/images/79.gif"alt=""/>[B的意思就是说GROUP_CONCAT函数返回的是一个 BLOB对象,这是JDBCdriver的问题了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。