您现在的位置是:网站首页>JavaJava

MyBatis查询单条后显示null的问题解决方法

左鹏03-06 13:18:16Java5,838人已围观

简介在使用Mybatis做单条查询的时候,遇到查询出来本来有数据,可是打印出来的时候却是null,或者直接报【java.lang.NullPointerException】错误,效果如下: ==> Preparing: select * from product_category where category_id=? ==> Parameters: 1(Integer) <== Total: 1 null 可以看出分明返回Total:1,查询出一条数据了,可

在使用Mybatis做单条查询的时候,遇到查询出来本来有数据,可是打印出来的时候却是null,或者直接报【java.lang.NullPointerException】错误,效果如下:

==> Preparing: select * from product_category where category_id=? 
==> Parameters: 1(Integer)
<== Total: 1 null

可以看出分明返回Total:1,查询出一条数据了,可以在打印的时候却是null,那是因为变量名没有打到对应的mysql字段列名,需要使用以下方案解决

1、定义resultMap

<resultMap id="resultMap" type="ProductCategory">    
<id property="categoryId" column="category_id" />    
<result property="categoryName" column="category_name" />    
<result property="categoryType" column="category_type" />    
</resultMap>

2、在select标签里指定[resultMap],一定要注意select里的resultMap的值一定要与resultMap标签里的id的值保持一致

<select id="findOne" resultType="ProductCategory" resultMap="resultMap">    
select * from product_category where category_id=#{categoryId}    
</select>

就可以了,效果如下

==> Preparing: select * from product_category where category_id=?    
==> Parameters: 1(Integer)    
<==Total: 1 ProductCategory{categoryId=1, categoryName='222', categoryType=92}

 

文章评论

    请先说点什么
    热门评论
    0人参与,0条评论
    正在载入评论列表...

    站点信息

    • 建站时间:2018-09-18
    • 网站程序:Spring Boot
    • 主题模板:《今夕何夕》
    • 文章统计:104条
    • 微信公众号:扫描二维码,关注我们
    登陆您的账户