塔塔庙
2019-06-15 16:15
采纳率: 41.7%
浏览 385
已采纳

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>
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 塔塔庙 2019-07-09 15:43
    已采纳

    使用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");

    }

    已采纳该答案
    打赏 评论