JFinal批量删除问题

等一夏 发布于 2017/03/10 22:26
阅读 1K+
收藏 0

如题,调用Model的deleteById(Object... idValues)方法,

在传入id数组长度为1条时,没有问题,

当id大于一条时,报java.lang.IllegalArgumentException: Primary key nubmer must equals id value number and can not be null异常

然后,查看JFinal源码发现,这个地方:

传入ids数组长度必须等于表的主键数组长度??

 

加载中
0
terely
terely

这里不是批量删除,可变数组代表是的复合主键 多字段确定一条记录的删除

等一夏
等一夏
好吧,源来这个地方作用在这儿,有点误导啊,文档也没写。。。批删除搞得好麻烦,不过我已经解决了,谢谢
0
等一夏
等一夏

已经解决了,贴出来共享给遇到相同疑惑的朋友。

参考下,这篇文章 http://www.cnblogs.com/yexingzhiguang/p/6494249.html

如@terely所言,Model的deleteById(Object... idValues)这个地方是复合主键,要批量删除只能借用Db.batch()了。。。

 

等一夏
等一夏
回复 @terely : 谢谢提醒
等一夏
等一夏
回复 @蓝水晶飞机 : 这个方法,只在后台调用,前台我肯定不能这么写,求解更好的解决方案。
蓝水晶飞机
蓝水晶飞机
你这个写法SQL注入,妥妥的黑完整个数据库然后到主机。
terely
terely
你这样拼接 where in 直接使用 Db.update(sql); 就ok了 不需要batch
返回顶部
顶部