问答详情
源自:4-2 商品模型模型--商品创建02

查询itemstock表为空指针

@Override
public ItemModel getItemById(Integer id) {
    ItemDo itemDo = itemDoMapper.selectByPrimaryKey(id);
    if (itemDo == null) {
        return null;
    }
    //操作获得库存的数量
    //!!!!!返回为空指针
    ItemStockDo itemStockDo = itemStockDoMapper.selectByItemId(itemDo.getId());

    //将dataObject->Model
    ItemModel itemModel = convertFromObject(itemDo, itemStockDo);


    return itemModel;
}
<select id="selectByItemId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List"/>
    from item_stock
    where item_id = #{itemId,jdbcType=INTEGER}
</select>


提问者:qq_新_bfvBKX 2018-12-14 13:09

个回答

  • 龙虾三少
    2018-12-14 14:46:49

    你好,建议排查步骤如下:

    debug下代码,确认itemDO内的getId()数字,并通过和自己的数据库做对比,判断下是否数据库内对应的itemDO对应的id在item stock表里没有对上

    猜测你的问题应该是在创建item的时候没有把itemstock表的item id字端和item表的id字端对应上

  • 慕九州1054126
    2020-05-07 16:31:05

    我也是出现了这样的问题,命名把itemstock插入进去了,但就是获取不到,犯了一个低级错误,就是

    selectByItemId的sql语句中where条件应该是item_id而不是id。。。。。。。