数据库教程:mybatis调用sqlserver存储过程返回结果集的方法

第一种:返回值通过out输出 sqlserver存储testmapper.xml两种都能接收到数据的, 因为我的实体类字段与数据库的不一致,上面图片是按照数据库字段定义的,下图是按照实体类定义的,接收

第一种:返回值通过out输出 sqlserver存储

mybatis调用sqlserver存储过程返回结果集的方法

testmapper.xml

mybatis调用sqlserver存储过程返回结果集的方法

两种都能接收到数据的, 因为我的实体类字段与数据库的不一致,上面图片是按照数据库字段定义的,下图是按照实体类定义的,接收输出参数是按照你定义的名称返回

mybatis调用sqlserver存储过程返回结果集的方法

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输出字段

mybatis调用sqlserver存储过程返回结果集的方法

mapper.xml

mybatis调用sqlserver存储过程返回结果集的方法

不传参

mybatis调用sqlserver存储过程返回结果集的方法

传参

mybatis调用sqlserver存储过程返回结果集的方法

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返回结果集内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多数据库技术:mybatis调用sqlserver存储过程返回结果集的方法,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/695373.html

(0)
上一篇 2021年8月9日
下一篇 2021年8月9日

精彩推荐