广告
返回顶部
首页 > 资讯 > 精选 >mybatis group by substr函数传参报错怎么解决
  • 304
分享到

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

2023-06-28 20:06:00 304人浏览 独家记忆
摘要

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

这篇文章主要介绍“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属性

如下:

<resultMap id="deptMap" type="java.util.Map">        <result column="id" property="id"/>        <result column="dept_name" property="deptname"/>        <result column="count(1)" property="count"/>    </resultMap>   <select id="getDeptByIdStep" resultMap="deptMap">  select  id,dept_name,count(1)  from tbl_dept where dept_id=#{id} group by id; </select>

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

dao层代码

public List<Map> getDeptByIdStep(Integer id);

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

--结束END--

本文标题: mybatis group by substr函数传参报错怎么解决

本文链接: https://www.lsjlt.com/news/321065.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis group by substr函数传参报错怎么解决
    这篇文章主要介绍“mybatis group by substr函数传参报错怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mybatis group&...
    99+
    2023-06-28
  • mybatisgroupbysubstr函数传参报错的解决
    目录mybatis group by substr传参报错报异常原因使用group by 分组查询返回为null解决方法mybatis group by substr传参报错 报异常...
    99+
    2022-11-13
  • MSSQL报错参数数据类型text对于replace函数的参数1无效怎么解决
    这篇文章主要介绍“MSSQL报错参数数据类型text对于replace函数的参数1无效怎么解决”,在日常操作中,相信很多人在MSSQL报错参数数据类型text对于replace函数的参数1无效怎么解决问题上...
    99+
    2022-10-18
  • php中iconv函数报错怎么解决
    本篇内容介绍了“php中iconv函数报错怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!方法:1、在函数的第二个参数后添加“//IG...
    99+
    2023-06-30
  • 使用python append函数报错怎么解决
    当使用Python的`append()`函数时,有以下几个常见的错误和解决方法: `AttributeError: 'NoneT...
    99+
    2023-10-27
    python
  • python自定义函数报错未定义怎么解决
    当你调用一个自定义函数时出现 "未定义" 的错误,可能是因为以下几个原因:1. 函数没有被正确定义:确保你在调用函数之前已经正确定义...
    99+
    2023-10-10
    python
  • python函数运行不过也不报错怎么解决
    当Python函数运行不过也不报错时,可能是函数中存在一些问题导致程序无法正常执行。以下是一些可能的解决方案:1. 检查函数的输入和...
    99+
    2023-08-29
    python
  • C语言错误信息报告strerror函数和perror函数怎么解决
    本文小编为大家详细介绍“C语言错误信息报告strerror函数和perror函数怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言错误信息报告strerror函数和perror函数怎么解决”文章能帮助大家解决疑惑,下面跟着小编的...
    99+
    2023-07-05
  • Mysql中使用sum()函数返回null报错怎么解决
    本篇内容介绍了“Mysql中使用sum()函数返回null报错怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!介绍SUM()函数用于计...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作