问题描述
现在要向mysql数据库中导入100W级别数据,使用jdbc批处理,但是由于表中字段含有blob类型,请问如何使用批处理添加
解决方案
包含不包含blob类型数据,批处理的过程是一样的。一般的批处理,是在一个事物执行一定的插入操作后提交一次。方法代码段/**@param:list 为批处理需要插入的数据条数,可以为任意集合类型,List只是一个演示*/public <T> void work(List<T> list)throws Exception{Connection conn=getConnection();//自实现如何获取数据库连接try{conn.setAutoCommit(false);PreparedStatement ps=conn.prepareStatement("INSERT INTO TABLE(name1,name2) VALUES (?,?)");for(T t:list){MyBlob blob=new MyBlob() ;//自实现满足业务需求的Blobps.setBlob(2,blob);ps.execute();}conn.commit();} catch(Exception e){conn.rollback();}}其中如果需要MyBlob自实现,就是实现Blob接口,类似:class MyBlob implements Blob{ //实现需要的方法}这样批处理插入Blob的操作雏形就出来了,没什么不同。
时间: 2025-01-20 10:03:19