我有这个java代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
public class Propietaria {
public static void main(String[] args) {
DBase db = new DBase();
Connection conn = db.connect("jdbc:mysql://localhost:3306/propietaria","root","");
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;
String filename;
filename = "payroll.csv";
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);
//For comma separated file
query = "SELECT id, numero_cuenta, nombre_empleado, sueldo, horas_trabajadas, horas_vacaciones, sueldo" +
"INTO OUTFILE 'probando/payroll.csv'" +
"FIELDS TERMINATED BY ',' " +
"FROM nomina";
stmt.executeQuery(query);
} catch(Exception e) {
e.printStackTrace();
stmt = null;
}
}
};
我正在尝试生成来自位于nomina
数据库的propietaria
表的数据CSV。
当我执行查询(MySQL)时,这会创建我的文件,但这只是在SQLyog中。当我运行此代码时,控制台向我发送消息“用法:java automateExport [outputfile path]”
这是nomina表的结构:
id numero_cuenta nombre_empleado horas_trabajadas horas_vacaciones sueldo
------ ------------- --------------- ---------------- ---------------- --------
1001 712332889 Tony Smith 50 5 40.00
1002 785445566 David Jones 40 0 10.00
1003 454544545 Denise Smith 35 3 20.00
1008 445565545 Sebastien Motte 50 5 0.00
1011 122154555 Isabelle Scemla 40 0 40.00
1012 154668544 David Bristol 40 5 40.00
1025 225468255 Anne Weiler 36 0 20.00
1032 336566585 Luka Abrus 40 5 0.00
1049 525556556 David Ludwig 40 1 0.00
1050 525556557 Tony Smith 50 5 40.00
1051 525556558 David Jones 40 0 10.00
1052 525556559 Denise Smith 35 3 20.00
有更多记录,但是要向您展示一个例子。
编辑:我忘了说当我在SQLyog中运行查询时,这会创建CSV文件:xamp> mysql> data> probando(我创建的文件夹)> payroll.csv
也许Java会在其他地方创建这个文件?