16 de fev de 2013

Executando comandos SQL em batch com JDBC


Muito fácil fazer execuções em batch com JDBC. Só executar um comando por vez, uai. Nada disso, tem uma forma mais fácil e elegante. Veja só o exemplo abaixo.

BatchExecutor.java
public class BatchExecutor {

    public void execute(List commands) {
        Connection con = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/butecodb", "root", "");
            Statement stmt = con.createStatement();
            for (String command : commands) {
                stmt.addBatch(command);
            }
            stmt.executeBatch();
            stmt.close();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

App.java
public class App{
    
    public static void main( String[] args ){
        
        List commands = new ArrayList();
        commands.add("insert into buteco values (1,'Bar do Jairo')");
        commands.add("insert into buteco values (2,'Bar do Ênio')");
        commands.add("insert into buteco values (3,'Bar Viva Cuba!')");
        
        BatchExecutor batchExecutor = new BatchExecutor();
        batchExecutor.execute(commands);        

    }
}


Espero que seja de grande ajuda.

Código Fonte: http://depositfiles.com/files/41b1dmjli

Aqui é Java, mano!

Nenhum comentário:

Postar um comentário