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

做了分表之后,原先的底层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 = #{参数名}+‘‘

也可以

原文地址:https://www.cnblogs.com/rock-turf/p/9777076.html

时间: 2024-10-12 15:19:43

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

Jpa自定义查询报错(Failed to convert from type [java.lang.Object[]] to type)

Jpa自定义查询报错 问题背景 今天遇到一个奇怪的报错"Failed to convert from type [java.lang.Object[]] to type",这个报错,百度上也是很少的,恰恰是这样的问题,引起我了解决的欲望.先看看报错: org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.Object[]] to type [o

sql注入--双查询报错注入原理探索

目录 双查询报错注入原理探索 part 1 场景复现 part 2 形成原因 part 3 报错原理 part 4 探索小结 双查询报错注入原理探索 上一篇讲了双查询报错查询注入,后又参考了一些博客,今天来探究其原理 实际上该报错是由于rand(),count(),group by 三个语句联合使用造成的,缺一不可. 上一篇的地址:https://www.cnblogs.com/laoxiajiadeyun/p/10278512.html part 1 场景复现 首先我们新建一个数据库,并创建一

mysql开启慢查询报错:

1.进入mysql命令行:#mysql -uroot -p123456,执行下面的命令开启慢查询报错: set global slow_query_log=on; set global long_query_time=1;#设置记录查询超过多长时间的sql set global slow_query_log_file='/opt/data/slow_query.log';#设置mysql慢查询日志路径 [y1]报错:ERROR 29 (HY000): File '/opt/data/slow_q

hbase.client.RetriesExhaustedException: Can't get the locations hive关联Hbase查询报错

特征1: hbase.client.RetriesExhaustedException: Can't get the locations 特征2: hbase日志报错如下:org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid 特征3: unexpected error, closing socket connection a

【已解决】unity4.2.0f4 导出Android工程报错:Error building Player: ArgumentException: Illegal characters in path.

你看到的这个文章来自于http://www.cnblogs.com/ayanmw 使用unity3D开发的一个客户端,需要导出为Android工程,然后接入一些第三方android SDK. unity版本 操作系统为: OS 名称: Microsoft Windows 7 旗舰版 OS 版本: 6.1.7601 Service Pack 1 Build 7601 OS 制造商: Microsoft Corporation OS 配置: 独立工作站 OS 构件类型: Multiprocessor

MO拆分计划行程序中写入PRODUCTIONORDERS表数据出现重复导致报错(BUG)20180502

错误提示:ORA-00001: 违反唯一约束条件 (ABPPMGR.C0248833319_6192)ORA-06512: 在 "STG.FP_MO_SPLIT", line 199  ORA-06512: 在 "STG.FP_MO_SPLIT", line 1318 错误描述:MO拆分计划行程序中写入PRODUCTIONORDERS表数据出现重复导致报错(BUG) 存储过程:FP_MO_SPLIT 解决方法: 原文地址:https://www.cnblogs.co

Android开发时,sqlite创建表成功,insert不报错,但没有数据插入的原因

在android开发过程中,经常要通过sqlite来存储一些数据,这种应用应该是再平常不过了,但是有时难免一时疏忽,就会出现sqlite创建表成功,insert不报错,但没有数据插入. 具体问题详见如下代码: Context ctx;        SQLiteDatabase db = dbOpenHelper.getWritableDatabase(); // 开启事务        db.beginTransaction();        try{                // 数

easyui Datagrid查询报错Uncaught TypeError:Cannot read property 'length' of undefined

1.问题描述 easyui中datagrid执行loadData方法出现如下异常:Cannot read property 'length' of undefined 2.一开始怀疑是js或者页面的问题,然后从早上干到下午,网上各种方法用尽了就是不行! 最后发现规律了: 使用mybatis从数据库查询返回的List不报错,但是自己new的ArrayList总是报错! 后来发现原来mybatis返回的不是ArrayList!而是PageList! 3.解决问题 PageList中有个参数Pagin

MySQL查询报错 ERROR: No query specified

今天1网友,查询报错ERROR: No query specified,随后它发来截图: root case:查询语法错误 \G后面不能再加分号;,因为\G在功能上等同于;,如果加了分号,那么就是;;(2个分号),SQL语法错误 备注:MySQL学习时,最好先去仔仔细细,掌握基础: 版权声明:本文为博主原创文章,未经博主允许不得转载.