解决一个分表之后出现的查询报错问题

Posted rock_turf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决一个分表之后出现的查询报错问题相关的知识,希望对你有一定的参考价值。

 

做了分表之后,原先的底层sql语句查询开始出现问题。

sql语句:
select xxx from table a
LEFT JOIN table b
where a.列x = #{参数名}

报了 Cause: e: groovy.lang.MissingMethodthodException: No signature of method: d: java.lang.String.mod() i() is applicable for argument types: (: (java.lang.Integer) va) values: [10]

解决方法:
我们是按照列x对表a进行的分表,以列x的尾数对a表拆成了10张表。个人判断出的这个问题很可能是传入的String类型参数无法让系统判断其尾数。
所以把#改成$,或者后面加‘‘强制转换String就解决了....
select xxx from table a
LEFT JOIN table b
where a.列x = ${参数名}

或者

select xxx from table a 
LEFT JOIN table b 
where a.列x = #{参数名}+‘‘ 

也可以

 

以上是关于解决一个分表之后出现的查询报错问题的主要内容,如果未能解决你的问题,请参考以下文章

MySql 查询数据时间过长,导致程序报错 怎么解决

spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500:no convertter for return value of type

下载文件到本地解压压缩包出现文件损坏,报错问题已解决

关于docker安装成功之后,测试hello-world镜像的时候报错的解决方案

Xshell无法打开,打开之后报错,如图

解决跟Docker私有仓库登陆,推送,拉取镜像出现的报错