最近闲的无聊花了点时间在批量导入上面,主要是比较hibernate和jdbc
hibernate参照下面的文章
很多朋友都说hibernate的效率很低,其实不然,相对jdbc来说hibernate的效率肯定不是最好的,由于hibernate的底层也是整合jdbc进行数据操作的,较单纯的jdbc处理数据效率肯定要低一点,因为它还有很多额外的工作要做 但是对于一般的请求个人感觉hibernate还是不错的。1.开始的时候我使用的是hibernateDaoSupport.getHibernateTemplate().sava(Object)这个方法实现数据的插入,效率低得吓人。2.然后我改用了hibernate的批量导入Session session = getHibernateTemplate().getSessionFactory().openSession(); Transaction tx = session.beginTransaction(); try{ for(int i=0;i总结:一般性应用个人感觉使用hibernate完全可以满足我们的需求,jdbc效率固然高,但是对于我们来说编码起来或许不方便,至于使用哪个要根据自己的实际去选择了。我最终的效率是这样的35万条数据123秒。 org.hibernate.dialect.DB2Dialect true 50 //这一段
我自己学了一下批量导入:用jdbc加上数据库存储过程使得效率提高了一大截。
有一个问题是:批量导入的时候需要判断是否已经存在这一条数据,那么怎么办呢?
网上有人说先插进去,然后再判重,数据库判重参考
就写到这里吧