当前位置: 首页 > 工具软件 > Seasar2 > 使用案例 >

seasar s2dao批量update

吕飞翼
2023-12-01

有个项目用的seasar s2dao的框架,要加一个一次可以更新多条记录的共通机能,被叫去帮忙调查。

首先官网说明上只给了一个insertBatch的例子。

int insertBatch(Employee[] employees)

查找seasar源代码发现有这么个类,有戏!

org.seasar.dao.impl.UpdateBatchAutoStaticCommand

按部就班,在dao里加一下

int updateBatch(List<TradeRecord> list);

执行的时候报了一个异常:

org.seasar.dao.PrimaryKeyNotFoundRuntimeException: [EDAO0009]PrimaryKey not found in ...

设断点调试,发现安装updateBatch这个方法的时候做了主键存在验证,不存在的话报错。

通过分析源码知道主键是从对应的Bean里面读出来的,接下来就简单了。

在Bean里主键对应的变量上加上:@Id,执行,成功!

 类似资料: