mybatis sum(參數(shù)) 列名作為參數(shù)的問題
sum(參數(shù)) 列名作為參數(shù)
項目中有很多個字段,當字段為空的時候,求該列的平均值并賦值給該字段。如:
| id | name | age |
當我需要插入一條數(shù)據(jù)的時候,這條數(shù)據(jù)的age為空,那么需要先從數(shù)據(jù)庫查詢age的平均值,然后賦值給當前的數(shù)據(jù)。當字段很多的時候就需要列名作為參數(shù)查詢了
mapper.xml
? <select id="getGtAvg" parameterType="java.lang.String" resultType="bigDecimal">
? ? select avg(${columnName})
? ? from tb_chuai
? ? where ${columnName} > 0
? </select>DAO
BigDecimal getGtAvg(@Param("columnName") String columnName);注意事項
1、 聚合函數(shù),如sum、avg等resultType為bigDecimal或者integer類型
2、${}一般用于傳輸數(shù)據(jù)庫的表名、字段名等,不能使用#{}
3、mysql中的varchar可以進行sum,avg等操作,但是其中的漢字作為0,計算avg平均值的時候可能出現(xiàn)問題。
mybatis注解sql sum(參數(shù))傳參寫法
驗證了很久sum()里面帶參數(shù)方式 #{參數(shù)}一直不行日志顯示參數(shù)已經(jīng)傳進 但就是加不上去 返回的始終是0
后面換成$(參數(shù))之后就行了
@Select("select sum(${type}) from "+ TABLE_HOUR + " where date_format(`date`,'%Y-%m-%d') = #{date}")
public int selectDay2(@Param("date") String date,@Param("type") String type);以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java.lang.OutOfMemoryError 錯誤整理及解決辦法
這篇文章主要介紹了java.lang.OutOfMemoryError 錯誤整理及解決辦法的相關(guān)資料,需要的朋友可以參考下2016-10-10
詳解Spring Boot讀取配置文件與配置文件優(yōu)先級
這篇文章主要介紹了詳解Spring Boot讀取配置文件與配置文件優(yōu)先級,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
JavaEE7+Websockets+GlassFish4打造聊天室
Java EE 7已經(jīng)發(fā)布很久了,新增加了很多新的功能和特性,如新增或更新了不少的JSR標準。其中特別受到關(guān)注的是Websockets。它的一個好處之一是減少了不必要的網(wǎng)絡(luò)流量。它主要是用于在客戶機和服務(wù)器之間建立單一的雙向連接。2015-09-09
Java異步編程之Callbacks與Futures模型詳解
這篇文章主要為大家詳細介紹了Java異步編程中Callbacks與Futures模型的使用,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-03-03
通過Java實現(xiàn)zip文件與rar文件解壓縮的詳細步驟
這篇文章主要給大家介紹了如何通過?Java?來完成?zip?文件與?rar?文件的解壓縮,文中通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-07-07
Java關(guān)鍵字synchronized基本使用詳解
這篇文章主要給大家介紹了關(guān)于Java關(guān)鍵字synchronized基本使用的相關(guān)資料,synchronized可以用來同步靜態(tài)和非靜態(tài)方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-01-01

