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");
}