mybatis sum(参数) 列名作为参数的问题

网友投稿 621 2022-11-02

mybatis sum(参数) 列名作为参数的问题

mybatis sum(参数) 列名作为参数的问题

目录sum(参数) 列名作为参数注意事项mybatis注解sql sum(参数)传参写法

sum(参数) 列名作为参数

项目中有anKihkvGBc很多个字段,当字段为空的时候,求该列的平均值并赋值给该字段。如:

idnameage

当我需要插入一条数据的时候,这条数据的age为空,那么需要先从数据库查询age的平均值,然后赋值给当前的数据。当字段很多的时候就需要列名作为参数查询了

mapper.xml

select avg(${columnName})

from tb_chuai

where ${columnName} > 0

DAO

BigDecimal getGtAvg(@Param("columnName") String columnName);

注意事项

1、 聚合函数,如sum、avg等resultType为bigDecimal或者integer类型

2、${}一般用于传输数据库的表名、字段名等,不能使用#{}

3、mysql中的varchar可以进行sum,avg等操作,但是其中的汉字作为0,计算avg平均值的时候可能出现问题。

mybatis注解sql sum(参数)传参写法

验证了很久sum()里面带参数方式 #{参数}一直不行日志显示参数已经传进 但就是加不上去 返回的始终是0

后面换成$(参数)之后就行了

@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);

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:POJ2002---正方形
下一篇:POJ1236 Network of Schools
相关文章

 发表评论

暂时没有评论,来抢沙发吧~