Java:编写SQL语句

Nic*_*ner 3 java sql

我正在编写一个一次性Java程序,以将CSV文件中的一堆行添加到MySQL数据库。是否有任何Java类/工具包可以帮助您解决此问题?某些东西会逃脱必要的字符等?(例如,准备好的陈述)

还是我应该自己写语句,像这样:

result += String.format(
   "INSERT INTO node (type, language, title) VALUES (%s, %s, %s)", 
    node.get("type"), node.get("language"), node.get("title")
);
Run Code Online (Sandbox Code Playgroud)

Dre*_*lls 6

如果您使用的是JDBC,请使用PreparedStatement。此类将为您节省手动转义输入的麻烦。

该代码基本上看起来像这样(完全是从内存中发出的-希望我不要忽略某些东西):

String sql = "INSERT INTO node (type, language, title) VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
try
{
    pstmt.setString(1, node.get("type"));
    pstmt.setString(2, node.get("language"));
    pstmt.setString(3, node.get("title"));
    pstmt.executeUpdate();
}
finally
{
    pstmt.close(); 
}
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记pstmt.executeUpdate(); (2认同)