VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > sql数据库 >
  • mybatis调用sqlserver存储过程返回结果集的方法

这篇文章主要介绍了mybatis调用sqlserver存储过程返回结果集的方法,本文分两种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

 

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

testMapper.xml

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

serviceImpl

1

2

3

4

5

6

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

1

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存储过程返回结果集的文章就介绍到这了



原文:
https://www.jb51.net/article/211656.htm

相关教程