首页 > 代码库 > MyBatis处理一行数据-MyBatis使用sum语句报错-MyBatis字段映射-遁地龙卷风
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方法确认这个字段是否存在
如果你接受返回值的是一个实体类,找不到一个字段将导致实体类被赋null
如果你接受返回值的是一个实体类list,找不到一个字段将导致list长度为1,但取出来的是null,
我将语句改为如下便正确了
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
对于加班我的感触是:以前花钱学习,现在给钱学习。
MyBatis处理一行数据-MyBatis使用sum语句报错-MyBatis字段映射-遁地龙卷风