mybatis sum(参数) 列名作为参数的问题
作者:磊疯 时间:2022-06-16 01:45:44
sum(参数) 列名作为参数
项目中有很多个字段,当字段为空的时候,求该列的平均值并赋值给该字段。如:
id | name | age |
当我需要插入一条数据的时候,这条数据的age为空,那么需要先从数据库查询age的平均值,然后赋值给当前的数据。当字段很多的时候就需要列名作为参数查询了
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、 聚合函数,如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);
来源:https://blog.csdn.net/weixin_44142296/article/details/96436951
标签:mybatis,sum,列名,参数
0
投稿
猜你喜欢
初识Java环境变量配置及IDEA
2022-09-20 06:46:41
c#获取数组中最大数的值
2022-07-20 07:49:02
Java集合ArrayList与LinkedList详解
2022-11-11 12:14:31
java实现归并排序算法
2023-02-09 07:34:01
详解使用Spring Security进行自动登录验证
2021-07-28 12:31:51
springcloud初体验(真香)
2022-12-08 06:33:44
spring AOP的Around增强实现方法分析
2021-10-03 06:22:39
C#实现虚拟键盘的实例详解
2021-09-21 08:59:47
深入剖析Java中String类的concat方法
2023-06-02 07:07:13
C#中使用反射遍历一个对象属性及值的小技巧
2021-12-10 18:15:43
举例说明自定义C++异常处理的实例
2022-10-25 13:45:27
Android中的全局变量与局部变量使用小结
2023-12-07 10:11:49
浅析Java随机数与定时器
2022-06-04 16:21:10
Kotlin使用静态变量与静态方法详解
2021-10-11 07:03:40
C#实现DataTable转TXT、CSV文件
2022-08-09 06:50:09
Android自定义scrollview实现回弹效果
2023-12-15 08:42:47
Android 代码一键实现银行卡绑定功能
2023-06-03 13:37:55
Android点击按钮返回顶部实现代码
2023-04-10 19:06:40
Android中的Bitmap缓存池使用详解
2023-02-23 15:01:15
解决MyBatis @param注解参数类型错误异常的问题
2023-12-01 06:41:45