准备声明的方法

时间:2013-06-07 03:55:48

标签: java mysql jdbc

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

我在想:

  1. 是否有更好的方式来发送查询或更新?我试着对PreparedStatement的原因进行一些研究,但没有学到太多东西。
  2. 有更好的方法来传递变量吗?
  3. 另外,如果您对新手有一些建议,请同时加入。 感谢

1 个答案:

答案 0 :(得分: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:在数据库中创建存储过程 The java stored Procedure对此进行了广泛的讨论(当我的字符串出现单引号问题时,我使用了它。)