java中使用mybatis调用存储过程(存储过程返回数据集)我只想取其中的一个字段,怎么写?

java中使用mybatis调用存储过程(存储过程返回数据集)我只想取其中的一个字段,怎么写?

问题描述:

java中使用mybatis调用存储过程(存储过程返回数据集)我只想取其中的一个字段,怎么写?我的返回字段有mg_dept,energy_name,s_energy_name,target_date,sum_use_value,total_price。但我只想要sum_use_value如个地字段的值。,求各位大神指导,谢谢!
如下是我的代码:

  <resultMap id="getdayele_result" type="java.util.Map" >
    <result column="sum_use_value" property="sum_use_value" javaType="java.math.BigDecimal" jdbcType="DECIMAL"/>
    <result column="total_price" property="total_price" javaType="java.math.BigDecimal" jdbcType="DECIMAL"/>
            </resultMap>

    <select id="get_day_ele" statementType="CALLABLE" resultMap="getdayele_result">
    {call source_select(
      #{mg_dept,mode=IN,jdbcType=VARCHAR},
      #{energy_name,mode=IN,jdbcType=VARCHAR},
      #{s_energy_name,mode=IN,jdbcType=VARCHAR},
      #{target_date,mode=IN,jdbcType=VARCHAR}
    )
    }
</select>

使用for循环进行遍历,取固定的字段值就可以了。
List f_list =index_dao.get_today_eflow(mgdept,params,tdate);
Double tal_flow =0.0;
int length=f_list.size();
for (int i = 0; i Map map = new HashMap<>(4);
if(MapUtil.getDouble(f_list.get(i),"sum_use_value")==0){
tal_flow=0.00;
}
else {
tal_flow=MapUtil.getDouble(f_list.get(i),"sum_use_value");

}