MyBatis处理一行数据-MyBatis使用sum语句报错-MyBatis字段映射-遁地龙卷风

第二版

(-1)写在前面

我用的是MyBatis 3.2.4

(0) 编程轶事

select sum(value) ,sum(value2)  from integral_list where  MemberId = #{0} and operate = 1 and  Year(AddTime) = #{1} and ChannelType = #{2} and ChannelCode = #{3}

我用的sqlyoug显示的的字段名分别是sum(value) 、sum(value2)

我在xml文件中返回值类型是实体类的别名,由于mybatis根据数据库字段名找到实体类字段的set方法确认这个字段是否存在

我将语句改为如下便正确了

select sum(value) as 'value',sum(value2) as 'value2' from integral_list where  MemberId = #{0} and operate = 1 and  Year(AddTime) = #{1} and ChannelType = #{2} and ChannelCode = #{3}
顺便说一下如何接收返回值,因为执行语句返回的结果集是一行数据两个字段,可以用hashmap

配置文件关键部分为:

<select resultType="hashmap">

实体类映射xml文件关键部分为:

HashMap<String, BigDecimal>

得到的结果结构为

key   value

“value” 28.0

“value2” 8.0

对于加班我的感触是:以前学习花钱,现在学习挣钱。

原文地址:https://www.cnblogs.com/resolvent/p/6071850.html