使用JAVA批量更新数据库

时间:2014-07-18 14:10:12

标签: java hibernate jpa jdbc ibatis

我们使用oracle作为数据库,我们在数据库中有3个缺少记录。 我想阅读每一行,我必须根据一些标准更新行,通过JAVA实现这一目标的最快方法是什么?

2 个答案:

答案 0 :(得分:0)

您可以参考休眠

中的批处理
http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/batch.html


Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();

for ( int i=0; i<100000; i++ ) {
  Customer customer = new Customer(.....);
  session.save(customer);
    if ( i % 20 == 0 ) { //20, same as the JDBC batch size
    //flush a batch of inserts and release memory:
    session.flush();
    session.clear();
    }
 }

tx.commit();
session.close();

答案 1 :(得分:0)

最快的方法是使用存储过程并在其中实现您的标准逻辑。

但在java中,您可以使用jdbc / hibernate.Choice取决于需求并与任何其他框架或应用程序层集成。

如果你想要一个简单的应用程序来满足这个要求,那么请使用jdbc.Otherwise来进行事务管理,缓存和其他东西,然后去hibernate.Hope它可以帮助你