溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis中查詢結果為空時不同返回類型對應返回值問題

發(fā)布時間:2020-09-21 19:28:44 來源:腳本之家 閱讀:512 作者:壹佰 欄目:編程語言

今天在別人的代碼基礎上實現(xiàn)新需求,看到對于mybatis查詢結果的判斷不是很正確,如果查詢結果為空就會異常,不知道大家有沒有這樣的疑惑:mybatis中resultType有多種返回類型,對于每種不同類型,查詢結果為空時dao接口的返回值是一樣的嗎?接下來我就總結一下常見的幾種情況。

第一種:resultType為基本類型,如string(在此暫且把string歸納為基本類型)

  如果select的結果為空,則dao接口返回結果為null

第二種,resultType為基本類型,如int

后臺報異常:

org.apache.ibatis.binding.BindingException: Mapper method 'com.fkit.dao.xxDao.getUserById attempted to return null from a method with a primitive return type (int).

解釋:查詢結果為null,試圖返回null但是方法定義的返回值是int,null轉為int時報錯

解決辦法:修改select的返回值為String

第三種 resultType為類為map ,如map、hashmap

  dao層接口返回值為null

第四種 resultType 為list ,如list

  dao層接口返回值為[],即空集合。

注意:此時判斷查詢是否為空就不能用null做判斷

第五種 resultType 為類 ,如com.fkit.pojo.User

  dao層接口返回值null

總結

以上所述是小編給大家介紹的mybatis中查詢結果為空時不同返回類型對應返回值問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI