2015-06-10 3 views
2

У меня есть следующий кодH2: executeBatch не работает

String query = "INSERT INTO student (age,name) VALUES (?,?)"; 
conn.setAutoCommit(true); 
ps = conn.prepareStatement(query);    
for (Student student:list) { 
    ps.setInt(1, student.getAge()); 
    ps.setString(2, student.getName()); 
} 
int[]temp=ps.executeBatch(); 
System.out.println("TEMP:"+temp.length);//returns 0 

Код казнены. Ошибок нет. Однако ученик таблицы пуст. Я использую h2 1.3.176 во встроенном режиме. Что не так?

ответ

2

Вы забыли добавить пакетный набор параметров:

String query = "INSERT INTO student (age,name) VALUES (?,?)"; 
conn.setAutoCommit(true); 
ps = conn.prepareStatement(query);    
for (Student student:list) { 
    ps.setInt(1, student.getAge()); 
    ps.setString(2, student.getName()); 
    ps.addBatch(); // <-- 
} 
int[]temp=ps.executeBatch(); 
System.out.println("TEMP:"+temp.length); 
Смежные вопросы