mybatis调用sqlserver存储过程返回结果集的方法
第一种:返回值通过out输出 sqlserver存储
testMapper.xml
两种都能接收到数据的, 因为我的实体类字段与数据库的不一致,上面图片是按照数据库字段定义的,下图是按照实体类定义的,接收输出参数是按照你定义的名称返回
serviceImpl
Map<String,String> objectsMap = new HashMap<>(); objectsMap.put("sno","123"); objectsMap.put("sname","123"); testMapper.test(objectsMap); System.out.println(map.get("Return_rescode")); System.out.println(map.get("Return_resmsg"));
第二种:存储并没有定义out输出字段
mapper.xml
不传参
传参
serviceImpl
List<TimeEntity> timeList = testMapper.selectTime();
我有试过resultMap去接收sqlserver 定义的out参数,但是怎么都返回null值;
总结一下自己遇到的问题:
1. 调用存储 call外面有个{}花括号
2.column是数据库名称 property是实体类名称
3.sqlserver存储定义的out输出参数要用map才能接收到,实体类一直返回null(用resultMap去接收,还请大佬指点指点)
4.使用#{}会将传入的参数用引号包裹例如:‘a' ;使用${}传入的参数不会用引号包裹 例如 a
5.sqlserver存储里OUT输出的参数名称是@Return_rescode或者@Return_resmsg与实体类的名称不一致,可以在xml里面定义的时候就直接定义实体类的名称,接收的时候也会按照你定义的实体类中的名称返回
到此这篇关于mybatis调用sqlserver存储过程返回结果集的文章就介绍到这了,更多相关mybatis返回结果集内容请搜索华域联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持华域联盟!
相关文章
-
比较详细的完美解决安装sql2000时出现以前的某个程序安装已在安装
比较详细的完美解决安装sql2000时出现以前的某个程序安装已在安装计算机上创建挂起的文件操作。...2007-10-10
-
SQL Server误区30日谈 第2天 DBCC CHECKDB会导致阻塞
在SQL Server 2000中,这个命令阻止事务日志截断将会导致日志不正常增长的相关问题,但对于SQL Server 2005来说,这个命令就会导致快照相关的问题(具体请往下看)。2013-01-01
-
SQLServer中bigint转int带符号时报错问题解决方法
用一个函数来解决SQLServer中bigint转int带符号时报错问题,经测试可用,有类似问题的朋友可以参考下2014-09-09
本文由 华域联盟 原创撰写:华域联盟 » mybatis调用sqlserver存储过程返回结果集的方法
转载请保留出处和原文链接:https://www.cnhackhy.com/3876.htm
最新评论