解決mybatis執(zhí)行SQL語句部分參數(shù)返回NULL問題
今天在寫代碼的時(shí)候發(fā)現(xiàn)一個(gè)問題:mybatis執(zhí)行sql語句的時(shí)候返回bean的部分屬性為null,在數(shù)據(jù)庫中執(zhí)行該sql語句能夠正常返回,把相關(guān)代碼反反復(fù)復(fù)翻了個(gè)遍,甚至都重啟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問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
如何解決hibernate一對(duì)多注解懶加載失效問題
這篇文章主要介紹了解決hibernate一對(duì)多注解懶加載失效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Resty開發(fā)restful版本的Jfinal深入研究
這篇文章主要為大家介紹了Resty開發(fā)restful版本的Jfinal深入研究有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
Spring中Bean對(duì)象的定義、注冊(cè)和獲取流程分析
這篇文章主要介紹了Spring中Bean對(duì)象的定義、注冊(cè)和獲取流程分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
JSON序列化導(dǎo)致Long類型被搞成Integer的坑及解決
這篇文章主要介紹了JSON序列化導(dǎo)致Long類型被搞成Integer的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Java針對(duì)ArrayList自定義排序的2種實(shí)現(xiàn)方法
這篇文章主要介紹了Java針對(duì)ArrayList自定義排序的2種實(shí)現(xiàn)方法,結(jié)合實(shí)例形式總結(jié)分析了Java操作ArrayList自定義排序的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01

