-1

我是使用 mysql 和 JAVA API 的新手。现在我发送查询或更新的方式是简单地创建一个包含所有行的字符串,然后将其传递给 executeQuery() 或 executeUpdate()。我发现这很烦人,因为要从 Java 传递变量,我必须在变量中结束引号放入另一个引号,并且我必须小心处理空格和内引号。

我想知道:

  1. 有没有更好的方法来发送查询或更新?我试图对 PreparedStatement 的原因进行一些研究,但没有学到太多东西。
  2. 有没有更好的方法来传递变量?

另外,如果您对新手有一些建议,也请包括在内。谢谢

4

1 回答 1

1

选项 1:准备好的语句方法应该可以正常工作。

PreparedStatement pstmt = null;
Stirng studentUpdate = "UPDATE student SET grade = ? where id = ?";
try {
    pstmt = conn.prepareStatement(studentUpdate);
    pstmt.setString(1, "A");
    pstmt.setInt(2, 34);
    pstmt.executeUpdate();

} catch(Exception a) {
    a.printStackTrace();
}

选项 2:在您的数据库中创建一个存储过程 java 存储过程对此进行了广泛的讨论(当我的字符串出现单引号问题 (') 时,我使用了它)。

于 2013-06-07T08:43:43.820 回答