mybatis中用注解如何处理存储过程返回的多个结果集?
sql代码:
- create procedure sptest.getnamesanditems()
- reads sql data
- dynamic result sets 2
- BEGIN ATOMIC
- declare cur1 cursor for select * from sptest.names;
- declare cur2 cursor for select * from sptest.items;
- open cur1;
- open cur2;
- END
- go
- <resultMap type="org.apache.ibatis.submitted.sptests.Name" id="nameResult">
- <result column="ID" property="id"/>
- <result column="FIRST_NAME" property="firstName"/>
- <result column="LAST_NAME" property="lastName"/>
- </resultMap>
- <resultMap type="org.apache.ibatis.submitted.sptests.Item" id="itemResult">
- <result column="ID" property="id"/>
- <result column="ITEM" property="item"/>
- </resultMap>
- <select id="getNamesAndItems" statementType="CALLABLE"
- resultMap="nameResult,itemResult">
- {call sptest.getnamesanditems()}
- </select>
- @Test
- public void testGetNamesAndItems() throws SQLException {
- SqlSession sqlSession = sqlSessionFactory.openSession();
- try {
- SPMapper spMapper = sqlSession.getMapper(SPMapper.class);
- List<List<?>> results = spMapper.getNamesAndItems();
- assertEquals(2, results.size());
- assertEquals(4, results.get(0).size());
- assertEquals(3, results.get(1).size());
- } finally {
- sqlSession.close();
- }
- }
原文地址:https://www.iteye.com/problems/78259
mybatis中用注解如何处理存储过程返回的多个结果集?的更多相关文章
- PB中用oracle的存储过程返回记录集做数据源来生成数据窗口,PB会找不到此存储过程及不能正常识别存储过程的参数问题(转)
(转)在PB中用oracle的存储过程返回记录集做数据源来生成数据窗口 首先oracle的存储过程写法与MSSQL不一样,差别比较大. 如果是返回数据集的存储过程则需要利用oracle的包来定义游标. ...
- myBatIs.Net 调用Oracle 存储过程返回游标
找了好久,网上也没示例,全是java的,没办法,后来看到一个网上别人写的例子. http://www.myfirm.cn/blog/article/Control/13.html 上面照套还是出错,我 ...
- Linq to sql 接收存储过程返回的多个结果集
故事前提.......... 一.返回顺序结果集 存储过程实例 CREATE PROCEDURE MultipleResultTypesSequentially AS select * from pr ...
- C# 通过DataSet 获取SQL 存储过程返回的多个结果集(tables)
测试数据:Northwind 链接地址: https://files.cnblogs.com/files/louiszh/NorthWind.zip 首先创建一个测试存储过程: IF EXISTS ( ...
- 连接sqlServer数据库&jpa调用存储过程Java获取存储过程返回的多个结果集JAVA调用sqlserver存储过程的实现(返回多个结果集的实现)jdbc多结果集(getMoreResults)
存储过程: BEGIN select * from teacher; SELECT * FROM student; END public Object GetMyBOProjectProductLis ...
- mybatis获取存储过程返回结果
获取存储过程返回结果 代码: // Map<String,Object> map = new HashMap<String,Object>(); map.put("i ...
- Spring Boot 实战 —— MyBatis(注解版)使用方法
原文链接: Spring Boot 实战 -- MyBatis(注解版)使用方法 简介 MyBatis 官网 是这么介绍它自己的: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过 ...
- MyBatis之四:调用存储过程含分页、输入输出参数
在前面分别讲解了通过mybatis执行简单的增删改,多表联合查询,那么自然不能缺少存储过程调用,而且还带分页功能. 注意:表结构参见上篇讲解联合查询的表. 一.查询某班级以及该班级下面所有学生的记录 ...
- SpringBoot入门教程(四)MyBatis generator 注解方式和xml方式
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
随机推荐
- Nginx 反向代理功能-动静分离
Nginx 反向代理功能-动静分离 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- maven中,dependency 中的 classifier属性
classifier元素用来帮助定义构件输出的一些附属构件.附属构件与主构件对应,比如主构件是 kimi-app-2.0.0.jar 该项目可能还会通过使用一些插件生成 如 kimi-app-2.0. ...
- andrlid 处理大图片思路,未实践
Loading Large Bitmaps Efficiently 先不解码,读取image的宽高,然后降采样显示图片. 参考:http://developer.android.com/trainin ...
- JMeter【第四篇】参数化
概念 参数化的原因,并不是网上说的真实模拟不同用户,真实反应服务器性能,而是: 数据唯一性(比如注册名不能一样) 避免数据库查询缓存 如何避免参数化: 去掉唯一性校验的约束 关闭数据库的查询缓存,my ...
- DataOps Reading Notes
质量.效率.成本.安全,是运维工作核心四要素. AIOps 技术会涉及到数据收集方面的基础监控,服务监控和业务监控,甚至会涉及到与持续交付流水线的数据和状态整合(比如在软件发布的阶段会自动关闭某些监控 ...
- docker删除镜像Error response from daemon: conflict: unable to remove repository reference
Docker无法删除images,由于是依赖container. 1.进入root权限 sudo su 2. 列出所有运行或没有运行的镜像 docker ps -a 3.停止containe ...
- 5分钟使用docker搭建一个WordPress
环境为已安装Docker Destop的Windows系统. 过程 使用Docker拉去官方WordPress镜像再进行简单配置是可行的, 但是这里我们使用docker-compose,它会自动根据你 ...
- 【C#】身份证号正确性验证及正则表达式格式验证
身份证前两位各省对应的编号是: 1.华北地区:北京市|11,天津市|12,河北省|13,山西省|14,内蒙古自治区|15: 2.东北地区: 辽宁省|21,吉林省|22,黑龙江省|23: 3.华东地区: ...
- 并发设计模式:Immutability模式
多个线程同时读写同一共享变量存在并发问题,其中的必要条件之一就是 读写 ,如果没有写,只存在读,是不会存在并发问题的. 如果让一个共享变量只有读操作,没有写操作,如此则可以解决并发问题.该理论的具体实 ...
- java web开发入门四(spring)基于intellig idea
spring 1.spring简介 Spring框架,可以解决对象创建以及对象之间依赖关系的一种框架. 且可以和其他框架一起使用:Spring与Struts, Spring与hibernate (起 ...