SQL Server结合Mybatis调用存储过程返回结果集的相关知识是本文我们主要要介绍的内容,接下来就让我们一起来了一下吧。
过程如下:
一、存储过程:
CREATEPROCEDURE[dbo].[ProcedureName] @para1VARchar(8)='HNZZC001', @para2VarChar(30)='2010-07-0802:00:00', @para3VarChar(30)='2010-07-0912: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}=callProcedureName(#{para1},#{para2},#{para3})} </select>
三、需要注意的事项
1、要把结果集放到parameterMap中,并且要设置jdbcType为“OTHER”。
2、在<select>中要写上resultMap,并且在select中不能用问号表示参数序列的模式调用存储过程。
3、statementType要为CALLABLE类型。
关于SQL Server结合Mybatis调用存储过程返回结果集的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!
【编辑推荐】
- 初学SQL Server数据库的一些常用操作总结SQL Server数据库创建数据仓库已分区表详解SQL Server与Access数据库ASP代码的比较详解SQL Server数据库中bit字段类型使用时的注意事项SQL Server数据库timestamp数据类型相关知识介绍