1. 程式人生 > >解決一個分表之後出現的查詢報錯問題

解決一個分表之後出現的查詢報錯問題

解決方法 出現 查詢 無法 nat 分表 lang table iss

做了分表之後,原先的底層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 = #{參數名}+‘‘

也可以

解決一個分表之後出現的查詢報錯問題