mybatis mysql存储过程返回值_mybatis调用mysql存储过程返回结果集

本文介绍了如何在MyBatis中调用MySQL存储过程以获取返回的结果集。在MySQL中,存储过程可以直接通过SELECT语句返回结果集,而不需要使用游标。文中提供了一个示例存储过程的创建方法,并展示了MyBatis的XML配置及Java代码,说明了MyBatis如何以List形式接收存储过程返回的结果集。
摘要由CSDN通过智能技术生成

存储过程中常常须要返回结果集。

Mysql中直接用select就可以返回结果集。而oracle则须要使用游标来返回结果集。

这一点Mysql相对照较方便。例如以下代码就可以实现输出结果集:

存储过程定义:

DELIMITER $$

DROP procedure IF EXISTS pro_sql_data1 $$

CREATE procedure pro_sql_data1(in sear_name varchar(2000))

BEGIN

if sear_name is not null and sear_name!='' then

select id,name,date_format(create_time,'%Y-%m-%d') as repDate from ad_place where

name like concat('%',sear_name,'%');

ELSE

select id,name,date_format(create_time,'%Y-%m-%d') as repDate from ad_place;

end if;

END$$

DELIMITER;运行结果:

d06d883f9265597473a01eab8951f5ef.png

在mybatis中调用存储过程,然后获取该结果集:

1、xml配置文件

{call pro_sql_data(

#{obj,jdbcType=VARCHAR,mode=IN}

)

}

java代码

public String query(String param) throws Exception {

logger.info(param);

Map queryMap = new HashMap();

queryMap.put("obj", param);

//List listIis1 = reportDao.select4MapParam(queryMap, "currentSql");

List listIis2 =reportDao.select4MapParam(queryMap,"test123");

return JSONArray.fromObject(listIis2).toString();

}

注:有上面可知,mysql存储过程中能够直接使用select语句返回结果集,并且mybatis能够直接使用list接收这个结果集(无需游标)。

參考文章:http://yhjhappy234.blog.163.com/blog/static/316328322012455714892/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值