欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis group by substr函數(shù)傳參報錯的解決

 更新時間:2022年01月21日 12:03:33   作者:羅羅諾亞F  
這篇文章主要介紹了mybatis group by substr函數(shù)傳參報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

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 } )

原因

#{} 和 ${} 在預(yù)編譯中的處理是不一樣的。#{} 在預(yù)處理時,會把參數(shù)部分用一個占位符 ? 代替。而 ${} 則只是簡單的字符串替換。

${}有sql注入的風險,需謹慎使用。

使用group by 分組查詢返回為null

我在使用mybatis進行分組查詢時數(shù)據(jù)庫有數(shù)據(jù),但是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導(dǎo)致mybatis返回null,添加后就可以正常返回。

dao層代碼

public List<Map> getDeptByIdStep(Integer id);

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • zookeeper概述圖文詳解

    zookeeper概述圖文詳解

    今天小編就為大家分享一篇關(guān)于Zookeeper概述圖文詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Java常見啟動命令-jar、-server和-cp詳細比較

    Java常見啟動命令-jar、-server和-cp詳細比較

    這篇文章主要給大家介紹了關(guān)于Java常見啟動命令-jar、-server和-cp詳細比較的相關(guān)資料,該文總結(jié)了常歸的jar包的啟動方式,并分析各種啟動方式的區(qū)別,需要的朋友可以參考下
    2023-07-07
  • Java中同步與并發(fā)用法分析

    Java中同步與并發(fā)用法分析

    這篇文章主要介紹了Java中同步與并發(fā)用法,較為詳細的分析了java同步與并發(fā)所涉及的相關(guān)類與使用技巧,需要的朋友可以參考下
    2015-06-06
  • Java泛型與注解全面分析講解

    Java泛型與注解全面分析講解

    Java?泛型(generics)是?Jdk?5?中引入的一個新特性,?泛型提供了編譯時類型安全檢測機制,該機制允許程序員在編譯時檢測到非法的類型。Annotation(注解)是JDK1.5及以后版本引入的。它可以用于創(chuàng)建文檔,跟蹤代碼中的依賴性,甚至執(zhí)行基本編譯時檢查。需要的可以參考一下
    2022-08-08
  • Java虛擬機棧jvm棧的作用

    Java虛擬機棧jvm棧的作用

    本文主要介紹了Java虛擬機棧jvm棧的作用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java操作文件路徑正反斜杠問題解決

    Java操作文件路徑正反斜杠問題解決

    最近在實現(xiàn)文件上傳時,windows與linux系統(tǒng)出現(xiàn)的問題,兩個系統(tǒng)中操作文件使用"\","/"導(dǎo)致IOException,本文主要介紹了Java操作文件路徑正反斜杠問題解決,感興趣的可以了解一下啊
    2024-01-01
  • 利用Java搭建個簡單的Netty通信實例教程

    利用Java搭建個簡單的Netty通信實例教程

    這篇文章主要給大家介紹了關(guān)于如何利用Java搭建個簡單的Netty通信,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-05-05
  • SpringAMQP的使用方式案例詳解

    SpringAMQP的使用方式案例詳解

    這篇文章主要介紹了SpringAMQP的使用方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Java文件操作之IO流 File類的使用詳解

    Java文件操作之IO流 File類的使用詳解

    在java中提供有對于文件操作系統(tǒng)的支持,這個支持在java.io.File類中進行了定義,也就是說在整個java.io包中File類是唯一一個與文件本身操作有關(guān)的類(創(chuàng)建,刪除,重命名)有關(guān)的類,而如果想要進行File類的操作,我們需要提供有完整的路徑支持,而后可以調(diào)用相應(yīng)的方法進行處理
    2021-09-09
  • Spring事務(wù)失效之常見場景分析

    Spring事務(wù)失效之常見場景分析

    這篇文章主要介紹了Spring事務(wù)失效之常見場景,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評論