mybatis group by substr函数传参报错怎么解决
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍"mybatis group by substr函数传参报错怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"mybatis group
千家信息网最后更新 2025年01月20日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
关于"mybatis group by substr函数传参报错怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
函数
知识
数据
方法
行业
分组
查询
不同
实用
代码
内容
原因
参数
只是
字符
字符串
实用性
实际
属性
数据库
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎么ip服务器连接数据库
爱奇艺视频软件开发者
网络安全是国家安全的一部分吗
像素工厂解除服务器封禁
翻转视频软件开发
如何将数据导入数据库
软件开发驻场的好处
功夫熊猫怎么关掉服务器
二手塔式服务器划算吗
维护网络安全信息手抄报
mysql服务器登录
小公司数据库建设多少钱
天津的服务器地址
python优雅的退出服务器
java sql 查找数据库
中间件连接oracle数据库
教之初服务器管理系统破解版
服务器和pc机的区别
智能车间软件开发
前端数据库工程师工资
固原网络安全宣传
sql 数据库执行顺序
消费电子硬软件开发设计
余杭网络技术有限公司
服务器里有几个驱动
南理工紫金数据库18级卷子
幼儿讲网络安全教育
吐鲁番网络服务器维保公司
软件开发量计算方法
谈论网络安全法