mybatis调用sqlserver存储过程返回结果集 dao层怎么处理

 我来答
渠秀艳ST
2017-12-16 · TA获得超过1240个赞
知道小有建树答主
回答量:1.3万
采纳率:32%
帮助的人:514万
展开全部
Mybatis调用存储过程返回结果集
配置文件
<resultMap type="Integer" id="count">
<result column="RecordCount" jdbcType="INTEGER" javaType="Integer" />
</resultMap>

<resultMap type="OrderForm" id="orders">
<result column="OrderId" property="id" jdbcType="VARCHAR" javaType="String"/>
</resultMap>

<select id="getOrders" statementType="CALLABLE" parameterType="Map" resultMap="count,orders" >
{call Page_Up_Get_OrderState(#{id,mode=IN,jdbcType=VARCHAR})}
</select>

需要注意的地方 statementType="CALLABLE" 不能少resultMap="count,orders" 这里返回多个结果集,如果有更多可以继续加
Dao层的接口
public List<List<?>> getOrders(Map<String, Object> map);

Service层调用
Map<String,Object> map=new HashMap<String, Object>();
map.put("id", "22333");
//取得返回的结果集
List<List<?>> results = orderDao.getOrders(map);
//第一条结果集 总数量
System.out.println(((List<Integer>)results.get(0)).get(0));
//第二条订单列表
System.out.println((List<OrderForm>)results.get(1));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式