解決mybatis執(zhí)行SQL語句部分參數(shù)返回NULL問題
今天在寫代碼的時候發(fā)現(xiàn)一個問題:mybatis執(zhí)行sql語句的時候返回bean的部分屬性為null,在數(shù)據(jù)庫中執(zhí)行該sql語句能夠正常返回,把相關(guān)代碼反反復(fù)復(fù)翻了個遍,甚至都重啟eclipse了,依舊沒解決問題,后來網(wǎng)上搜了一下,還真有類似的問題。
閑話少說,直接說問題,該sql語句是自己寫的,resultType直接用了該bean全名稱,最終導(dǎo)致部分屬性顯示為null,
原來的寫法:
<select id="selectByArticle" parametertype="com.pet.bean.Article" resultmap="com.pet.bean.Article"> SELECT FROM ARTICLE </select> <sql id="queryCondition"> <if test="@org.apache.commons.lang.StringUtils@isNotBlank(id)">AND ID = #{id,jdbcType=Integer}</if> <if test="@org.apache.commons.lang.StringUtils@isNotBlank(authorName)">AND AUTHOR_NAME = #{authorName,jdbcType=VARCHAR}</if> <if test="@org.apache.commons.lang.StringUtils@isNotBlank(title)">AND TITLE = #{title,jdbcType=VARCHAR}</if> <if test="@org.apache.commons.lang.StringUtils@isNotBlank(content)">AND CONTENT = #{content,jdbcType=VARCHAR}</if> <if test="@org.apache.commons.lang.StringUtils@isNotBlank(makeTime)">AND MAKE_TIME = #{makeTime,jdbcType=VARCHAR}</if> <if test="@org.apache.commons.lang.StringUtils@isNotBlank(updateTime)">AND UPDATE_TIME = #{updateTime,jdbcType=VARCHAR}</if> <if test="@org.apache.commons.lang.StringUtils@isNotBlank(kind)">AND KIND = #{kind,jdbcType=VARCHAR}</if> <if test="@org.apache.commons.lang.StringUtils@isNotBlank(about)">AND ABOUT = #{about,jdbcType=VARCHAR}</if> <if test="@org.apache.commons.lang.StringUtils@isNotBlank(status)">AND STATUS = #{status,jdbcType=VARCHAR}</if> </sql>
部分代碼:
日志顯示:
修改后的寫法:resultType改成了resultMap了
<select id="selectByArticle" parametertype="com.pet.bean.Article" resultmap="BaseResultMap"> SELECT FROM ARTICLE </select> <resultmap id="BaseResultMap" type="com.pet.bean.Article"> <id column="ID" jdbctype="INTEGER" property="id"> <result column="AUTHOR_NAME" jdbctype="VARCHAR" property="authorName"> <result column="TITLE" jdbctype="VARCHAR" property="title"> <result column="CONTENT" jdbctype="VARCHAR" property="content"> <result column="MAKE_TIME" jdbctype="VARCHAR" property="makeTime"> <result column="UPDATE_TIME" jdbctype="VARCHAR" property="updateTime"> <result column="KIND" jdbctype="VARCHAR" property="kind"> <result column="ABOUT" jdbctype="VARCHAR" property="about"> </result></result></result></result></result></result></result></id></resultmap>
日志顯示:
以上所述是小編給大家介紹的解決mybatis執(zhí)行SQL語句部分參數(shù)返回NULL問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Spring boot搭建web應(yīng)用集成thymeleaf模板實現(xiàn)登陸
這篇文章主要介紹了Spring boot搭建web應(yīng)用集成thymeleaf模板實現(xiàn)登陸,頁面使用bootstrap,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12Java虛擬機JVM性能優(yōu)化(一):JVM知識總結(jié)
這篇文章主要介紹了Java虛擬機JVM性能優(yōu)化(一):JVM知識總結(jié),本文是系列文章的第一篇,后續(xù)篇章請繼續(xù)關(guān)注腳本之家,需要的朋友可以參考下2014-09-09Spring線程池ThreadPoolExecutor配置并且得到任務(wù)執(zhí)行的結(jié)果
今天小編就為大家分享一篇關(guān)于Spring線程池ThreadPoolExecutor配置并且得到任務(wù)執(zhí)行的結(jié)果,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03MyBatis-Plus攔截器對敏感數(shù)據(jù)實現(xiàn)加密
做課程項目petstore時遇到需要加密屬性的問題,而MyBatis-Plus為開發(fā)者提供了攔截器的相關(guān)接口,本文主要介紹通過MyBatis-Plus的攔截器接口自定義一個攔截器類實現(xiàn)敏感數(shù)據(jù)如用戶密碼的加密功能,感興趣的可以了解一下2021-11-11spring?bean標(biāo)簽中的init-method和destroy-method詳解
這篇文章主要介紹了spring?bean標(biāo)簽中的init-method和destroy-method,在很多項目中,經(jīng)常在xml配置文件中看到init-method 或者 destroy-method ,因此整理收集下,方便以后參考和學(xué)習(xí),需要的朋友可以參考下2023-04-04JAVA如何轉(zhuǎn)換樹結(jié)構(gòu)數(shù)據(jù)代碼實例
這篇文章主要介紹了JAVA如何轉(zhuǎn)換樹結(jié)構(gòu)數(shù)據(jù)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03