存储过程中经常需要返回结果集。 MySQL 中直接用 select 即可返回结果集。而 Oracle 则需要使用游标来返回结果集。这一点 MySQL

存储过程中经常需要返回结果集。 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;

执行结果:

c40b700af624a21ace9a797ee45954af.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);

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

ListlistIis2 =reportDao.select4MapParam(queryMap,"test123");

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

}

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

MyBatis入门学习教程

Java实战应用:Mybatis实现单表的增删改

[Java][Mybatis]物理分页实现

Mybatis快速入门教程

Mybatis的关于批量数据操作的测试

Mybatis中对List对象List的批处理插入操作

MyBatis 的详细介绍:请点这里

MyBatis 的下载地址:请点这里

本文永久更新链接地址:

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐