>데이터 베이스 >MySQL 튜토리얼 >MyBatis调用MySQL存储过程返回结果集

MyBatis调用MySQL存储过程返回结果集

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 15:53:411887검색

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

执行结果:

MyBatis调用MySQL存储过程返回结果集

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

1、xml配置文件

 


 
     
     
     
     
   

   
  

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入门学习教程 

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

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

Mybatis快速入门教程

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

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

MyBatis 的详细介绍:请点这里
MyBatis 的下载地址:请点这里

本文永久更新链接地址

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.