SQL Server結(jié)合Mybatis調(diào)用存儲過程返回結(jié)果集
SQL Server結(jié)合Mybatis調(diào)用存儲過程返回結(jié)果集的相關(guān)知識是本文我們主要要介紹的內(nèi)容,接下來就讓我們一起來了一下吧。
過程如下:
一、存儲過程:
- 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
- --查詢臨時表中的數(shù)據(jù)
- SELECT * FROM #tempTable
- END
二、Mybatis的映射文件
- <!--結(jié)果集映射 -->
- <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、要把結(jié)果集放到parameterMap中,并且要設(shè)置jdbcType為“OTHER”。
2、在<select>中要寫上resultMap,并且在select中不能用問號表示參數(shù)序列的模式調(diào)用存儲過程。
3、statementType要為CALLABLE類型。
關(guān)于SQL Server結(jié)合Mybatis調(diào)用存儲過程返回結(jié)果集的相關(guān)知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】