亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

查詢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>


正在回答

2 回答

你好,建議排查步驟如下:

debug下代碼,確認itemDO內的getId()數字,并通過和自己的數據庫做對比,判斷下是否數據庫內對應的itemDO對應的id在item stock表里沒有對上

猜測你的問題應該是在創建item的時候沒有把itemstock表的item id字端和item表的id字端對應上

0 回復 有任何疑惑可以回復我~
#1

qq_新_bfvBKX 提問者

找到原因了,是數據庫表的問題,因為item表的id和itemshock表的item_id數據沒對上(item_shock表的數值都是默認的0),導致查不到,我想是不是創建應該要創建外鍵關聯,保證數值一樣
2018-12-14 回復 有任何疑惑可以回復我~
#2

龍蝦三少 回復 qq_新_bfvBKX 提問者

外鍵關聯是數據庫級別保證集聯一致性的,會影響查詢和插入的性能,如果你的應用邏輯寫的沒有錯誤,是不會出現有查不到的情況的,因此在互聯網項目中強烈不建議使用外健,因為沒有必要,多加了許多無用的消耗
2018-12-16 回復 有任何疑惑可以回復我~

我也是出現了這樣的問題,命名把itemstock插入進去了,但就是獲取不到,犯了一個低級錯誤,就是

selectByItemId的sql語句中where條件應該是item_id而不是id。。。。。。。


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
SpringBoot構建電商基礎秒殺項目
  • 參與學習       49409    人
  • 解答問題       978    個

應用SpringBoot快速搭建擁有用戶、商品、交易及秒殺活動的電商秒殺應用。

進入課程

查詢itemstock表為空指針

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號