Exportando dados de um banco de dados para um arquivo CSV

Veja nesta dica como copiar os dados de um banco de dados em um arquivo csv.

O exemplo abaixo exporta dados de uma query select no MySQL para arquivos CSV:

testtable structure CREATE TABLE testtable (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, text varchar(45) NOT NULL, price integer not null);

A aplicação pega o caminho do arquivo de saída como um argumento:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; public class automateExport { public static void main(String[] args) { DBase db = new DBase(); Connection conn = db.connect( "jdbc:mysql://localhost:3306/test","root","caspian"); if (args.length != 1) { System.out.println( "Usage: java automateExport [outputfile path] "); return; } db.exportData(conn,args[0]); } } class DBase { public DBase() { } public Connection connect(String db_connect_str, String db_userid, String db_password) { Connection conn; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(db_connect_str, db_userid, db_password); } catch(Exception e) { e.printStackTrace(); conn = null; } return conn; } public void exportData(Connection conn,String filename) { Statement stmt; String query; try { stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); query = "SELECT id,text,price into OUTFILE '"+filename+ "' FIELDS TERMINATED BY ',' FROM testtable t"; stmt.executeQuery(query); } catch(Exception e) { e.printStackTrace(); stmt = null; } } };
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados