解決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)文章
Resty開發(fā)restful版本的Jfinal深入研究
這篇文章主要為大家介紹了Resty開發(fā)restful版本的Jfinal深入研究有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
JSON序列化導(dǎo)致Long類型被搞成Integer的坑及解決
這篇文章主要介紹了JSON序列化導(dǎo)致Long類型被搞成Integer的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
Java針對ArrayList自定義排序的2種實(shí)現(xiàn)方法
這篇文章主要介紹了Java針對ArrayList自定義排序的2種實(shí)現(xiàn)方法,結(jié)合實(shí)例形式總結(jié)分析了Java操作ArrayList自定義排序的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01

