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

