これは、Excel ファイル データをデータベースに書き込むために使用する私の方法です。
public static void executeSQLUpdate(String sql, List<Object> arguments) {
Connection con = null;
PreparedStatement pstmt = null;
try {
con = getConnection(); //a method that returns a java.sql.Connection to your database
System.out.println("\n01)conection :"+con);
pstmt = con.prepareStatement(sql);
System.out.println("\n02)pstn :"+pstmt);
System.out.println( "\n03)arguments size :"+arguments.size());
if (arguments != null) {
int i = 1;
System.out.println( "\n04)if :"+arguments);
for(Object o : arguments) {
System.out.println( "\n05)executeSQLUpdate");
System.out.println( "\n06)object."+o);
System.out.println("\n07)................... :"+i + o);
pstmt.setObject(i, o);
System.out.println("\n08)____________________"+i+o);
}
}
System.out.print("\n09)errorchk........... :");
//method to execute insert, update, delete statements...
pstmt.executeUpdate();
System.out.print("\n10)+++++++++++++++++ :");
} catch(SQLException e) {
System.out.println("\n11)************* :"+e);
//handle the error...
} finally {
//closing the resources (always in finally block, not in the try!)
try {
if (pstmt != null) {
pstmt.close();
}
if (con != null) {
con.close();
}
} catch (SQLException e) {
}
}
}
07 まではすべてのシステム アウトが機能しています。しかし、その後、システムアウトは機能しません。その理由は何ですか?この中にエラーはありますか?
これは私のアウトプットです:
run:
AAA BBB CCC
DDD EEE FFF
GGG HHH III
JJJ KKK LLL
MMM NNN OOO
PPP QQQ RRR
01)接続:com.mysql.jdbc.JDBC4Connection@6e70c7
02)pstn :com.mysql.jdbc.JDBC4PreparedStatement@29428e: files_1 値に挿入 (** 指定されていない、指定されていない、指定されていない **)
03)引数サイズ:6
04)if :[[AAA, BBB, CCC], [DDD, EEE, FFF], [GGG, HHH, III], [JJJ, KKK, LLL], [MMM, NNN, OOO], [PPP, QQQ, RRR]]
05)executeSQLUpdate :
06) オブジェクト :[AAA、BBB、CCC]
07).................:1[AAA、BBB、CCC]
08) _ _ _ _ _ ___ :1[AAA, BBB, CCC]
05)executeSQLUpdate :
06) オブジェクト :[DDD、EEE、FFF]
07).................:1[DDD、EEE、FFF]
08) _ _ _ _ _ ___ :1[DDD、EEE、FFF]
05)executeSQLUpdate :
06)対象 :[GGG, HHH, III]
07).................:1[GGG、HHH、III]
08) _ _ _ _ _ ___ :1[GGG、HHH、III]
05)executeSQLUpdate :
06)オブジェクト :[JJJ、KKK、LLL]
07).................:1[JJJ、KKK、LLL]
08) _ _ _ _ _ ___ :1[JJJ、KKK、LLL]
05)executeSQLUpdate :
06) オブジェクト :[MMM、NNN、OOO]
07).................:1[MMM、NNN、OOO]
08) _ _ _ _ _ ___ :1[MMM、NNN、OOO]
05)executeSQLUpdate :
06) オブジェクト :[PPP、QQQ、RRR]
07).................:1[PPP、QQQ、RRR]
08) _ _ _ _ _ ___ :1[PPP、QQQ、RRR]
09)errorchk........ : 11) * ** * * : パラメータ 2 に値が指定されていません
java.sql.SQLException: No value specified for parameter 2
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2560)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2536)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2383)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2327)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2312)
at com.project.bulk.ReadExcelFile.executeSQLUpdate(ReadExcelFile.java:112)
at com.project.bulk.ReadExcelFile.MethodToData(ReadExcelFile.java:138)
at com.project.bulk.ReadExcelFile.main(ReadExcelFile.java:39)
BUILD SUCCESSFUL (合計時間: 3 秒)