java Dao界面设计应该有批处理操作吗?

时间:2017-09-17 03:24:05

标签: java interface dao

通常,我们有Dao接口如下:

void add(long id);
boolean delete(long id);

我们是否可以在一段时间内使用以下额外的批处理操作界面?

void add(long id);
boolean delete(long id);
void add(long[] ids); 
boolean delete(long[] ids);

这是一个糟糕的设计,为什么?

1 个答案:

答案 0 :(得分:0)

  

我们是否可以在一段时间内使用以下额外的批处理操作界面?

如果我们谈论的是“数据库访问对象”,那么我写的DAO层次结构肯定包含批量调用。

它们强大的原因之一是我们通常对底层数据库存储进行DAO操作,并使用单个事务或单个数据库连接来进行这些更改,与插入或删除相比,可以大大加快操作速度1由1。

大多数ORM库也会在事务内部禁用自动提交,同时显着加快一批实体的插入或删除。

例如,我的ORMLite库有: