常规的代码:
public void insertAll(List<SiteRank> siteRankList) {
for (SiteRank info : siteRankList) {
insert(info);
}
getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor sqlmapexecutor) throws SQLException {
sqlmapexecutor.startBatch();
for(SiteRank info : siteRankList) {
sqlmapexecutor.insert("insertSiteRank", info);
}
sqlmapexecutor.executeBatch();
return null;
}
});
}
这种方法,效率至少提高一倍以上;
public void insertAll(List<SiteRank> siteRankList) {
for (SiteRank info : siteRankList) {
insert(info);
}
}
数据数据量过大,效率比较低,因为PreparedStatement对象的冗余状态;
getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor sqlmapexecutor) throws SQLException {
sqlmapexecutor.startBatch();
for(SiteRank info : siteRankList) {
sqlmapexecutor.insert("insertSiteRank", info);
}
sqlmapexecutor.executeBatch();
return null;
}
});
}
这种方法,效率至少提高一倍以上;