mybatis調(diào)用sqlserver存儲過程返回結(jié)果集的方法
第一種:返回值通過out輸出 sqlserver存儲

testMapper.xml

兩種都能接收到數(shù)據(jù)的, 因?yàn)槲业膶?shí)體類字段與數(shù)據(jù)庫的不一致,上面圖片是按照數(shù)據(jù)庫字段定義的,下圖是按照實(shí)體類定義的,接收輸出參數(shù)是按照你定義的名稱返回

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

mapper.xml

不傳參

傳參

serviceImpl
List<TimeEntity> timeList = testMapper.selectTime();
我有試過resultMap去接收sqlserver 定義的out參數(shù),但是怎么都返回null值;
總結(jié)一下自己遇到的問題:1. 調(diào)用存儲 call外面有個{}花括號
2.column是數(shù)據(jù)庫名稱 property是實(shí)體類名稱
3.sqlserver存儲定義的out輸出參數(shù)要用map才能接收到,實(shí)體類一直返回null(用resultMap去接收,還請大佬指點(diǎn)指點(diǎn))
4.使用#{}會將傳入的參數(shù)用引號包裹例如:‘a(chǎn)’ ;使用${}傳入的參數(shù)不會用引號包裹 例如 a
5.sqlserver存儲里OUT輸出的參數(shù)名稱是@Return_rescode或者@Return_resmsg與實(shí)體類的名稱不一致,可以在xml里面定義的時候就直接定義實(shí)體類的名稱,接收的時候也會按照你定義的實(shí)體類中的名稱返回
到此這篇關(guān)于mybatis調(diào)用sqlserver存儲過程返回結(jié)果集的文章就介紹到這了,更多相關(guān)mybatis返回結(jié)果集內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Windows下在DOS用mysql命令行導(dǎo)入.sql文件2. Oracle災(zāi)難防護(hù)的關(guān)鍵技術(shù)3. 巧用SQL語言在ACCESS數(shù)據(jù)庫中批量替換內(nèi)容4. 講解SQL Server數(shù)據(jù)庫備份的多種方式5. Microsoft Office Access重新編號的方法6. Windwos下MySQL 64位壓縮包的安裝方法學(xué)習(xí)記錄7. 學(xué)好Oracle的六條總結(jié)8. 恢復(fù)從 Access 2000、 Access 2002 或 Access 2003 中數(shù)據(jù)庫刪除表的方法9. 啟動MYSQL出錯 Manager of pid-file quit without updating file.10. Microsoft Office Access備份表的方法

網(wǎng)公網(wǎng)安備