欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于mybatis查詢結(jié)果映射不到對(duì)象的處理

 更新時(shí)間:2021年08月25日 14:24:56   作者:別急,已經(jīng)在路上了  
這篇文章主要介紹了mybatis查詢結(jié)果映射不到對(duì)象的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis查詢結(jié)果映射不到對(duì)象

項(xiàng)目場(chǎng)景

使用mybatis+springboot 進(jìn)行數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢操作,一直拿不到返回結(jié)果。

問(wèn)題描述

后端dao層(service層調(diào)mapper,方法的返回結(jié)果一直null)代碼一直空指針,

APP 中接收數(shù)據(jù)代碼:

 //分類名稱
        Integer blogCategoryId = blog.getBlogCategoryId();//這里有數(shù)據(jù)  22
        BlogCategory category = blogCategoryMapper.getCategoryById(blogCategoryId);//這里返回結(jié)果就一直null
        blog.setBlogCategoryName(category.getCategoryName());//導(dǎo)致這里一調(diào)用方法就報(bào)空指針了。

原因分析

仔細(xì)檢查了代碼(debug),controller層+ service層沒(méi)問(wèn)題,那問(wèn)題坑定再dao層。檢查xml文件,但發(fā)現(xiàn)xml文件中查詢方法的sql代碼寫的沒(méi)問(wèn)題:

 <select id="getCategoryById" parameterType="java.lang.Integer" resultType="com.hhh.blog.entity.BlogCategory">
        SELECT
            category_id,
            category_name,
            category_icon,
            category_rank,
            create_time,
            is_deleted
        FROM
            tb_blog_category
        WHERE
            category_id = #{blogCategoryId}
    </select>

這里理論上沒(méi)啥問(wèn)題,但特么的就是數(shù)據(jù)庫(kù)的數(shù)據(jù)映射不到對(duì)象中(實(shí)體類都是按照數(shù)據(jù)庫(kù)數(shù)據(jù)對(duì)應(yīng)的,只多不少)。

解決方案

resultType=“com.hhh.blog.entity.BlogCategory”

返回結(jié)果改成使用映射:

<select id="getBlogCategoryPage" resultMap="getBlogCategoryPageMap">

  <resultMap id="getBlogCategoryPageMap" type="com.hhh.blog.entity.BlogCategory">
        <id column="category_id" jdbcType="INTEGER" property="categoryId" />
        <result column="category_name" jdbcType="VARCHAR" property="categoryName" />
        <result column="category_icon" jdbcType="VARCHAR" property="categoryIcon" />
        <result column="category_rank" jdbcType="INTEGER" property="categoryRank" />
        <result column="is_deleted" jdbcType="TINYINT" property="isDeleted" />
        <result column="create_time" jdbcType="DATE" property="createTime" />
    </resultMap>

開(kāi)啟駝峰式命名匹配也可能解決上述問(wèn)題。沒(méi)試過(guò)。建議自己搞起來(lái)

mybatis結(jié)果映射遇到的問(wèn)題

錯(cuò)誤如下

org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in POJO.User matching [java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String]
### The error may exist in Mapper/UserMapper
### The error may involve test.selectUserById
### The error occurred while handling results
### SQL: SELECT * FROM USER WHERE id=?
### Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in POJO.User matching [java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String]

解決方案

最后,將User構(gòu)造器中int改為Integer即可、

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaSE反射、枚舉、lambda表達(dá)式常用方法舉例

    JavaSE反射、枚舉、lambda表達(dá)式常用方法舉例

    這篇文章主要介紹了JavaSE反射、枚舉、lambda表達(dá)式常用方法的相關(guān)資料,反射允許在運(yùn)行時(shí)檢查和操作類、方法和屬性,枚舉提供了一種更安全和優(yōu)雅的方式來(lái)定義常量,而Lambda表達(dá)式則簡(jiǎn)化了函數(shù)式接口的實(shí)現(xiàn),需要的朋友可以參考下
    2024-12-12
  • 詳解Java并發(fā)工具類之CountDownLatch和CyclicBarrier

    詳解Java并發(fā)工具類之CountDownLatch和CyclicBarrier

    在JDK的并發(fā)包中,有幾個(gè)非常有用的并發(fā)工具類,它們分別是:CountDownLatch、CyclicBarrier、Semaphore和Exchanger,本文主要來(lái)講講其中CountDownLatch和CyclicBarrier的使用,感興趣的可以了解一下
    2023-06-06
  • 深入理解Java8雙冒號(hào)::的使用

    深入理解Java8雙冒號(hào)::的使用

    這篇文章主要介紹了深入理解Java8雙冒號(hào)::的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • xxl-job如何濫用netty導(dǎo)致的問(wèn)題及解決方案

    xxl-job如何濫用netty導(dǎo)致的問(wèn)題及解決方案

    本篇文章講解xxl-job作為一款分布式任務(wù)調(diào)度系統(tǒng)是如何濫用netty的,導(dǎo)致了怎樣的后果以及如何修改源碼解決這些問(wèn)題,netty作為一種高性能的網(wǎng)絡(luò)編程框架,十分受大家喜愛(ài),今天就xxl-job濫用netty這一問(wèn)題給大家詳細(xì)下,感興趣的朋友一起看看吧
    2021-05-05
  • Java去除字符串中的空格實(shí)現(xiàn)方式

    Java去除字符串中的空格實(shí)現(xiàn)方式

    這篇文章主要介紹了Java去除字符串中的空格實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • 使用Spring來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的工作流引擎

    使用Spring來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的工作流引擎

    這篇文章主要給大家介紹了關(guān)于使用Spring來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的工作流引擎的相關(guān)資料,需要的朋友可以參考下
    2006-12-12
  • Opencv創(chuàng)建車牌圖片識(shí)別系統(tǒng)方法詳解

    Opencv創(chuàng)建車牌圖片識(shí)別系統(tǒng)方法詳解

    本文主要介紹了一個(gè)基于spring?boot+maven+opencv實(shí)現(xiàn)的圖像識(shí)別及訓(xùn)練項(xiàng)目,可以實(shí)現(xiàn)車牌識(shí)別功能,感興趣的可以跟隨小編一起試一試
    2022-01-01
  • JAVA使用POI獲取Excel的列數(shù)與行數(shù)

    JAVA使用POI獲取Excel的列數(shù)與行數(shù)

    Apache POI 是用Java編寫的免費(fèi)開(kāi)源的跨平臺(tái)的 Java API,Apache POI提供API給Java程式對(duì)Microsoft Office格式檔案讀和寫的功能。 下面這篇文章給大家介紹了JAVA使用POI獲取Excel列數(shù)和行數(shù)的方法,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-12-12
  • Mybatis中如何設(shè)置sqlSession自動(dòng)提交

    Mybatis中如何設(shè)置sqlSession自動(dòng)提交

    在MyBatis中,默認(rèn)情況下,獲取的SqlSession對(duì)象不會(huì)自動(dòng)提交事務(wù),這意味著在進(jìn)行更新、刪除或插入等操作后,需要顯式調(diào)用commit方法來(lái)提交事務(wù),但是,可以在獲取SqlSession時(shí)通過(guò)將openSession方法的參數(shù)設(shè)置為true
    2024-09-09
  • Java聊天室之實(shí)現(xiàn)運(yùn)行服務(wù)器與等待客戶端連接

    Java聊天室之實(shí)現(xiàn)運(yùn)行服務(wù)器與等待客戶端連接

    這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)易聊天室之實(shí)現(xiàn)運(yùn)行服務(wù)器程序與等待客戶端程序連接功能,文中的示例代碼講解詳細(xì),需要的可以了解一下
    2022-10-10

最新評(píng)論