import org.springframework.orm.ibatis.SqlMapClientTemplate;
importorg.springframework.orm.ibatis.SqlMapClientCallback;
@Repository("skulistDao")public class SkulistDao extends SqlMapClientTemplate{
//1.批量插入
public int insertSku(finalList<Skulist>skulist){
int rowsNum = (Integer)this.execute(new SqlMapClientCallback(){
public Object doInSqlMapClient(SqlMapExecutorexecutor)throwsSQLException {
executor.startBatch();
for (Skulist sku :skulist) {
executor.insert("Skulist.insertSku",sku);
}
return executor.executeBatch();
}
});
return rowsNum;
}
//2.查询对象
public int count(Map<String, Object> params) {
return (Integer)this.queryForObject("Skulist.count", params);
}
//3.查询集合
public List <SKU> querySKUByWidAndSrcId(SKUDetail skuDetail){
List<SKU> skuList = this.queryForList("Skulist.querySKUByWidAndSrcId", skuDetail);
return skuList ;
}
//4.批量更新
public void updateBatch(List<SKUMain> SKUlist) throws SQLException {
this.getSqlMapClient().startBatch();
for (SKUMain bw : SKUlist) {
this.updateSKU(bw);
}
this.getSqlMapClient().executeBatch();
}
//5.更新
public void updateSKU(SKUMain bw) {
this.update("Skulist.updateSKU", bw);
}
//6.删除
public int deleteSKU(Map<String, Object> params) {
return this.delete("Skulist.deleteSKU", params);
}
//7.批量删除
public Object batchDelete(final String[] ids) {
return this.execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor)
throws SQLException {
executor.startBatch();
for (int i=0;i<ids.length;i++) {
//根据id查询
Map<String, Object> params = new HashMap<String, Object>();
params.put("id", ids[i]);
executor.delete("Skulist.deleteskuById", params);
}
return executor.executeBatch();
}
});
}
}
8.批量删除
public void deleteBatchOutRatio(List<RdcOutRatio>list) throws SQLException {
this.getSqlMapClient().startBatch();
for(OutRatio ror : list) {
this.getSqlMapClient().delete("OutRatio.deleteOutRatio",ror);
}
this.getSqlMapClient().executeBatch();
}
9.批量更新
public int updateSheetIdBatch(finalMap<String, Map<String, Object>> params)
throwsSQLException {
return(Integer) this.execute(new SqlMapClientCallback() {
publicObject doInSqlMapClient(SqlMapExecutor executor)
throwsSQLException {
executor.startBatch();
for(String key : params.keySet()) {
executor.update("Result.updateSheetIdAndState",
params.get(key));
}
returnexecutor.executeBatch();
}
});
}