itemcontroller中的createItem方法進不去,控制臺報錯itemmapper里的sql語句有問題
求大神解救,一上午也沒有挑出來
impl中的代碼
?@Override ????@Transactional ????public?ItemModel?createItem(ItemModel?itemModel)?throws?BusinessException?{ //????????進行入參校驗 ????????ValidationResult?result=validator.validate(itemModel); ????????if?(result.isHasErrors()){ ????????????throw?new?BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR,result.getErrorMsg()); ????????} //????????將ItemModel轉為Item(方法) ????????Item?item?=?convertItem(itemModel); //將Item寫入數據庫?因為配置文件中設置了keyProperty="id"?useGeneratedKeys="true",所以這里獲得到了自增id ???????itemMapper.insertSelective(item); //????????將id給itemmodel ????????itemModel.setId(item.getId()); ????????System.out.println(itemModel+"service..."); //????????將ItemModel轉為Stock(方法) ????????Stock?stock?=?convertStock(itemModel); //????????將Stock寫入數據庫 ???????stockMapper.insertSelective(stock); //????????返回創建完成的對象 ????????return?itemDetailById(itemModel.getId()); ????}
感覺xml文件沒啥問題,加了keyProperty和useGeneratedKeys
2020-05-21
你的xml里面的數據庫有個字段名為desc,desc在mysql里面是降序的特殊字,就像where之類的一樣,不能用來當作表字段名,換一下應該就沒問題了。