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

本文介绍了如何在MySQL中创建存储过程并返回结果集,以及在MyBatis中如何调用该存储过程并获取返回的数据。通过示例展示了存储过程的定义和MyBatis配置,强调了MySQL的便利性和MyBatis直接接收结果集的能力。
摘要由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;

执行结果:

8c8ab66fbc11d2088ff9e970ce4edf0e.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接收这个结果集(无需游标)。

MyBatis 的详细介绍:请点这里

MyBatis 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值