工程使用的是ssh , 但是数据库表是通过sql动态产生的,不能使用hibernate的pojo... 我现在要将这批数据插入到数据库中。通过循环去批量插入,每次插入2千条 我通过 insert into tablename (a) select 's125' union all select 'a112' union all ..... 把SQL进行组装,然后通过hibernate 执行原生sql ,
但是执行的效率太低。这样2000条都要大几秒中。。。
能否有更加高效的办法?
如果非要使用存储过程,那这个参数 字符串 a ,如何批量传参?
------解决方案-------------------- 直接使用jdbc的sql批量插入
------解决方案-------------------- 当然不能用循环insert,hibernate提供了批量更新的方法,楼主可以百度其用法
------解决方案-------------------- Transaction tx = session.beginTransaction(); Work work = new Work(){ public void execute(Connection connection ) throws SQLException{ PreparedStatement stmt = ... } //执行 Worksession.doWork(work); tx.commit();
------解决方案-------------------- 记录条数多,也不一定要一次一下批量者插入。可以分几次批量。
------解决方案--------------------