jfinal deleteById 批量删除时报错

xilixjd 发布于 2016/12/13 14:46
阅读 1K+
收藏 0

@JFinal 你好,想跟你请教个问题:

ApiInterface.dao.deleteById(getParaValues("id"))



执行批量删除时,报错了,错误信息:

Primary key nubmer must equals id value number and can not be null

这个表的主键只有一个就是 id。

我想请问一下,这样批量删除的调用是否正确,错在哪了?

加载中
0
被钓的小鱼
被钓的小鱼
getParaValues("id")  你输出下看看是什么
0
佰亿互联
佰亿互联
getParaValues("id") 换成 getPara("id")
0
x
xilixjd

引用来自“被钓的小鱼”的评论

getParaValues("id")  你输出下看看是什么
是传过来的 id 数组啊 ["id1", "id2"]
0
x
xilixjd

引用来自“周烈庆”的评论

getParaValues("id") 换成 getPara("id")

getPara("id")

只能得到一个 id 吧,我想要多 id 组成的数组啊

0
佰亿互联
佰亿互联
批量删除这种情况我一般用for遍历id删除
for(String id : getParaValues("id")){
  // TODO delete option
}




0
x
xilixjd

引用来自“周烈庆”的评论

批量删除这种情况我一般用for遍历id删除
for(String id : getParaValues("id")){
  // TODO delete option
}




恩 但是既然有这个 api 为啥用不了。。

而且你那样删不利于事务处理

0
佰亿互联
佰亿互联
这个deleteById(Object idValue) 或 deleteById(Object ... idValue) 不是你理解那样的,不支持批量删除,里面的参数是指单条记录的主键或复合主键,而不是多条记录的主键。
0
求学Sir
求学Sir

引用来自“周烈庆”的评论

批量删除这种情况我一般用for遍历id删除
for(String id : getParaValues("id")){
  // TODO delete option
}




你好,我使用你这种方法遍历id删除,可是只能删掉一个,这怎么办

佰亿互联
佰亿互联
有没有异常,相关代码也贴下
返回顶部
顶部