报错:无效的列类型: 1111
生活随笔
收集整理的這篇文章主要介紹了
报错:无效的列类型: 1111
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
情況一:
報(bào)錯(cuò)如下:
可以看出時(shí)standardValue字段出現(xiàn)了問題。
錯(cuò)誤代碼:
@Override
public Result edit(ProductCheckItem productCheckItem) {
UserDTO user = SessionCache.get();
productCheckItem.setUpdateTime(new Date());
productCheckItem.setUpdateUser(user.getUsername());
int i = productCheckItemDao.updateByPrimaryKey(productCheckItem);
if (i > 0) {
return Result.operating("修改成功", true, ResultCode.SUCCESS);
} else {
return Result.operating("修改失敗", false, ResultCode.SUCCESS);
}
}
前端傳遞過來的參數(shù):
難道是當(dāng)standardValue為null時(shí)無法修改?
解決辦法:將updateByPrimaryKey改為updateByPrimaryKeySelective,問題解決。
當(dāng)用insert()插入時(shí)也會(huì)報(bào)這個(gè)錯(cuò)誤,此時(shí)應(yīng)該改為insertSelective().
情況二:
報(bào)錯(cuò):無效的列類型
錯(cuò)誤代碼:
service
growMain.getSeedingRelList().forEach(rel -> {
Map relMap = new HashMap();
relMap.put("seedingId", rel.get("id"));
relMap.put("plantId", growMain.getId());
relMap.put("transplantingNum", rel.get("transplantingNum"));
relMap.put("transplantingType", rel.get("transplantingType"));
growMainMapper.insertSeedingRel(relMap);
});
dao
int insertSeedingRel(Map map);
mapper.xml
<insert id="insertSeedingRel" parameterType="java.util.Map">
INSERT INTO b_plant_seeding_rela(plant_id, seeding_id, transplanting_num, transplanting_type) VALUES (#{plantId}, #{seedingId}, #{transplantingNum}, #{transplantingType})
</insert>
錯(cuò)誤原因:如果前端沒有傳遞transplantingNum和transplantingType,那么這兩個(gè)值都為null,插入的時(shí)候就會(huì)報(bào)無效的列類型
解決辦法:如果為null,則轉(zhuǎn)為空字符串。用insertSelective可以避免將屬性值為null的字段插入數(shù)據(jù)庫,但是如果是用sql插入,那么就需要將null轉(zhuǎn)為空字符串。
代碼如下:
growMain.getSeedingRelList().forEach(rel -> {
Map relMap = new HashMap();
relMap.put("seedingId", rel.get("id"));
relMap.put("plantId", growMain.getId());
relMap.put("transplantingNum", rel.get("transplantingNum") == null ? "" : rel.get("transplantingNum"));
relMap.put("transplantingType", rel.get("transplantingType") == null ? "" : rel.get("transplantingType"));
growMainMapper.insertSeedingRel(relMap);
});
總結(jié)
以上是生活随笔為你收集整理的报错:无效的列类型: 1111的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数三角形
- 下一篇: HTML5 的段落首行缩进