千家信息网

mybatis group by substr函数传参报错怎么解决

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"mybatis group by substr函数传参报错怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"mybatis group
千家信息网最后更新 2026年11月04日mybatis group by substr函数传参报错怎么解决

这篇文章主要介绍"mybatis group by substr函数传参报错怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"mybatis group by substr函数传参报错怎么解决"文章能帮助大家解决问题。

mybatis group by substr传参报错

报异常

### Cause: java.sql.SQLSyntaxErrorException: ORA-00979: 不是 GROUP BY 表达式

SELECT    SUBSTR( region_code, 1,#{ queryMap.groupCodeLength, jdbcType = INTEGER } ) AS "region_code",    count( CASE WHEN TYPE = 1 THEN 0 END ) AS "like",    count( CASE WHEN TYPE = 2 THEN 0 END ) AS "roast" FROM    t_pub_sentiment WHERE    1 = 1 GROUP BY    SUBSTR(region_code,1,#{ queryMap.groupCodeLength,jdbcType = INTEGER })

更改后:

SELECT    SUBSTR( region_code, 1, $ { queryMap.groupCodeLength } ) AS "region_code",    count( CASE WHEN TYPE = 1 THEN 0 END ) AS "like",    count( CASE WHEN TYPE = 2 THEN 0 END ) AS "roast" FROM    t_pub_sentiment WHERE    1 = 1 GROUP BY    SUBSTR( region_code, 1, $ { queryMap.groupCodeLength } )

原因

#{} 和 ${} 在预编译中的处理是不一样的。#{} 在预处理时,会把参数部分用一个占位符 ? 代替。而 ${} 则只是简单的字符串替换。

${}有sql注入的风险,需谨慎使用。

使用group by 分组查询返回为null

我在使用mybatis进行分组查询时数据库有数据,但是mybatis返回为null,使用mybatis版本为3.4.1

解决方法

在resultMap的result标签中添加 property属性

如下:

                               

我在第一次使用时没有添加property导致mybatis返回null,添加后就可以正常返回。

dao层代码

public List getDeptByIdStep(Integer id);

关于"mybatis group by substr函数传参报错怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

函数 知识 数据 方法 行业 分组 查询 不同 实用 代码 内容 原因 参数 只是 字符 字符串 实用性 实际 属性 数据库 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 博彦科技互联网金融 上海互联网科技有限公司 互联网 卓越科技 鑫亿盛互联网科技 赫美联合互联网科技 互联网科技网站 长亮科技 互联网金融 湖南洣水互联网科技有限公司扣款 移动互联网科技股 崇明区互联网教育科技诚信经营 深圳市优智互联网科技有限公司 企晟互联网信息科技有限公司 深圳艾果互联网通讯科技 科技大学互联网 广州百诚互联网科技有限公司官网 互联网科技包装股份有限公司上市 上海同邻互联网科技有限公司规模 北京瑞云互联网科技有限公司 小牛互联网科技有限公司地址 广州大一互联网络科技有限公司 高科技互联网 互联网科技巨头监管 金融科技还是互联网 中国最先进互联网科技公司 海南科技产业互联网平台 玖二柒互联网科技公司待遇 徐州市互联网科技有限公司 梅州GM互联网络科技有限公司 颐高云石互联网科技
0