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

testMapper.xml

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

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'));
第二種:存儲(chǔ)并沒(méi)有定義out輸出字段

mapper.xml

不傳參

傳參

serviceImpl
List<TimeEntity> timeList = testMapper.selectTime();
我有試過(guò)resultMap去接收sqlserver 定義的out參數(shù),但是怎么都返回null值;
總結(jié)一下自己遇到的問(wèn)題:1. 調(diào)用存儲(chǔ) call外面有個(gè){}花括號(hào)
2.column是數(shù)據(jù)庫(kù)名稱(chēng) property是實(shí)體類(lèi)名稱(chēng)
3.sqlserver存儲(chǔ)定義的out輸出參數(shù)要用map才能接收到,實(shí)體類(lèi)一直返回null(用resultMap去接收,還請(qǐng)大佬指點(diǎn)指點(diǎn))
4.使用#{}會(huì)將傳入的參數(shù)用引號(hào)包裹例如:‘a(chǎn)’ ;使用${}傳入的參數(shù)不會(huì)用引號(hào)包裹 例如 a
5.sqlserver存儲(chǔ)里OUT輸出的參數(shù)名稱(chēng)是@Return_rescode或者@Return_resmsg與實(shí)體類(lèi)的名稱(chēng)不一致,可以在xml里面定義的時(shí)候就直接定義實(shí)體類(lèi)的名稱(chēng),接收的時(shí)候也會(huì)按照你定義的實(shí)體類(lèi)中的名稱(chēng)返回
到此這篇關(guān)于mybatis調(diào)用sqlserver存儲(chǔ)過(guò)程返回結(jié)果集的文章就介紹到這了,更多相關(guān)mybatis返回結(jié)果集內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 巧用SQL語(yǔ)言在ACCESS數(shù)據(jù)庫(kù)中批量替換內(nèi)容2. 如何實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的備份與恢復(fù)3. mybatis 為什么千萬(wàn)不要使用 where 1=14. 數(shù)據(jù)庫(kù)相關(guān)的幾個(gè)技能:ACCESS轉(zhuǎn)SQL5. Microsoft Office Access設(shè)置小數(shù)位數(shù)的方法6. MySQL基本調(diào)度策略淺析7. Access數(shù)據(jù)庫(kù)日常維護(hù)方法(優(yōu)化)8. DB2 常用命令小結(jié)9. Mysql入門(mén)系列:安排預(yù)防性的維護(hù)MYSQL數(shù)據(jù)庫(kù)服務(wù)器10. Access數(shù)據(jù)庫(kù)提示OleDbException (0x80004005): 操作必須使用一個(gè)可更新的查詢(xún)

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