मुझे एक बार में डेटाबेस में हजारों रिकॉर्ड डालने की ज़रूरत है। मैं अपने आवेदन में वसंत जेडीबीसी टेम्पलेट का उपयोग कर रहा हूं।वसंत जेडीबीसी टेम्पलेट बैच का उपयोग कर डेटाबेस में एकाधिक प्रविष्टियां कैसे करें?
नीचे दिया गया कोड मैंने अभी तक लिखा है जो एक ही समय में सभी आवेषण निष्पादित करता है। इसलिए, यदि मैं 10,000 उपयोगकर्ताओं का आह्वान करता हूं तो उन्हें एक बार में डाला जाता है। लेकिन मैं चाहता हूं कि बैचों में उन्हें निष्पादित करना है उदाहरण के लिए एक बैच में 500 रिकॉर्ड रिकॉर्ड करें और इसी तरह।
@Override
public void saveBatch(final List<Employee> employeeList) {
final int batchSize = 500;
getJdbcTemplate().batchUpdate(QUERY_SAVE,
new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i)
throws SQLException {
Employee employee = employeeList.get(i);
ps.setString(1, employee.getFirstname());
ps.setString(2, employee.getLastname());
ps.setString(3, employee.getEmployeeIdOnSourceSystem());
}
@Override
public int getBatchSize() {
return employeeList.size();
}
});
}
कैसे इतना है कि बजाय employeeList.size की() बैच आकार के रूप में हम कहते हैं कि 500, उन्हें अमल के रूप में बैच का आकार है और फिर अगले 500 और इतने पर कर सकते हैं मैं ऊपर कोड बदल सकता हूँ?
कृपया मदद करें।
मैं जानता हूँ कि इस सवाल है काफी पुराना है, लेकिन मेरे पास एक सवाल है। आपने 'GetBatchSize' विधि में 500 क्यों नहीं लौटाया? –