今天发现一个bug。数据库查询出来没错,但是java执行后就出问题了。
一度怀疑是不是Java哪边方法错了。
最后发现是mysql这边数字相加在java后台sql语句里需要转义一下。
如下图所示:
String sql = "SELECT NAME,serviceCount\\+fileCount\\+tableCount as resCount FROM (。。。这边是3个表)"";
否则就变成字符串相加了。
注意是\+而不是+\
而数据库里面直接这么查就没事,是数字相加。
在网上也没发现解决方法,还是同事帮我解决的。
特地记录下来,以防以后忘记。
至于原理未搞懂。
– 后记
无语了。原来用的公司框架这边进行了封装。。。