欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解决mybatis执行SQL语句部分参数返回NULL问题

程序员文章站 2023-12-19 16:34:10
今天在写代码的时候发现一个问题:mybatis执行sql语句的时候返回bean的部分属性为null,在数据库中执行该sql语句能够正常返回,把相关代码反反复复翻了个遍,甚至...

今天在写代码的时候发现一个问题:mybatis执行sql语句的时候返回bean的部分属性为null,在数据库中执行该sql语句能够正常返回,把相关代码反反复复翻了个遍,甚至都重启eclipse了,依旧没解决问题,后来网上搜了一下,还真有类似的问题。

闲话少说,直接说问题,该sql语句是自己写的,resulttype直接用了该bean全名称,最终导致部分属性显示为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>

部分代码:

解决mybatis执行SQL语句部分参数返回NULL问题

日志显示:

解决mybatis执行SQL语句部分参数返回NULL问题

修改后的写法: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执行SQL语句部分参数返回NULL问题

以上所述是小编给大家介绍的解决mybatis执行sql语句部分参数返回null问题,希望对大家有所帮助

上一篇:

下一篇: