IT技术网www.itjs.cn

当前位置:首页 > 数据库 > SQl Server > SQL Server结合Mybatis调用存储过程返回结果集

SQL Server结合Mybatis调用存储过程返回结果集

发布时间:2011-08-29 15:52 来源:未知

SQL Server结合Mybatis调用存储过程返回结果集的相关知识是本文我们主要要介绍的内容,接下来就让我们一起来了一下吧。

过程如下:

一、存储过程:

CREATE PROCEDURE [dbo].[ProcedureName]  @para1 VARchar(8)='HNZZC001',  @para2  VarChar(30)='2010-07-08 02:00:00',  @para3  VarChar(30)='2010-07-09 12:00:00'  AS  BEGIN  --查询临时表中的数据  SELECT *   FROM #tempTable  END  

二、Mybatis的映射文件

<!--结果集映射 --> <resultMaptyperesultMaptype="hashmap" id="ResultMap_test"> <resultpropertyresultproperty="Col1"   column="列1"   javaType="java.sql.Timestamp"    jdbcType="TIMESTAMP" /> <resultpropertyresultproperty="Col2"   column="列2"    javaType="java.sql.Timestamp"   jdbcType="TIMESTAMP"  /> <resultpropertyresultproperty="Col3"   column="列3"    javaType="java.lang.Integer"    jdbcType="INTEGER"/> </resultMap> <parameterMaptypeparameterMaptype="hashmap" id="ParaMap_test"> <parameterpropertyparameterproperty="result"   mode="OUT"   javaType="java.sql.ResultSet"     jdbcType="OTHER" /> <parameterpropertyparameterproperty="para1"   mode="IN"      javaType="java.lang.String"     jdbcType="VARCHAR"/> <parameterpropertyparameterproperty="para2"   mode="IN"     javaType="java.lang.String"     jdbcType="LONGVARCHAR"/> <parameterpropertyparameterproperty="para3"   mode="IN"    javaType="java.lang.String"     jdbcType="LONGVARCHAR"/> </parameterMap> <selectidselectid="procedureTest" parameterMap=" ParaMap_test " statementType="CALLABLE"  resultMap=" ResultMap_test"  > {#{result} = call ProcedureName(#{para1},  #{ para2},  #{ para3})}  </select>   

三、需要注意的事项

1、要把结果集放到parameterMap中,并且要设置jdbcType为“OTHER”。

2、在<select>中要写上resultMap,并且在select中不能用问号表示参数序列的模式调用存储过程。

3、statementType要为CALLABLE类型。

关于SQL Server结合Mybatis调用存储过程返回结果集的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!