📜  JavaExecute()、querry() 和 Update() 方法的区别(1)

📅  最后修改于: 2023-12-03 15:16:03.225000             🧑  作者: Mango

JavaExecute()、querry() 和 Update() 方法的区别

在Java中,与数据库交互最常用的方式就是使用JDBC API。而在JDBC API中,与执行SQL语句有关的主要有三个方法:JavaExecute()querry()Update()。本文将介绍这三个方法的区别。

JavaExecute()方法

JavaExecute()方法可以用于执行任意的SQL语句,包括对数据库进行修改的语句。它返回一个布尔值,表示执行结果是否成功。如果SQL语句是查询语句,则返回false。下面是一个使用JavaExecute()方法执行增加数据操作的示例代码:

try {
    Statement stmt = conn.createStatement();
    String sql = "INSERT INTO student (name, age) VALUES ('张三', 18)";
    boolean result = stmt.execute(sql);
    // result的值为true,表示执行成功
} catch (SQLException e) {}
querry()方法

querry()方法主要用于执行查询语句,并返回一个ResultSet对象,该对象包含查询结果。下面是使用querry()方法执行查询操作的示例代码:

try {
    Statement stmt = conn.createStatement();
    String sql = "SELECT * FROM student";
    ResultSet rs = stmt.executeQuery(sql);
    while (rs.next()) {
        System.out.println(rs.getString("name") + " " + rs.getInt("age"));
    }
} catch (SQLException e) {}

在实际应用中,我们经常需要在查询语句中使用参数,这时可以使用PreparedStatement对象替代Statement对象执行查询操作,这也是推荐的方式。下面是一个使用PreparedStatement对象执行查询操作的示例代码:

try {
    PreparedStatement ps = conn.prepareStatement("SELECT * FROM student WHERE name = ?");
    ps.setString(1, "张三");
    ResultSet rs = ps.executeQuery();
    while (rs.next()) {
        System.out.println(rs.getString("name") + " " + rs.getInt("age"));
    }
} catch (SQLException e) {}
Update()方法

Update()方法主要用于执行对数据库进行修改的操作,例如:增加、删除或更新数据。它返回一个整数,表示修改操作所影响的记录数。下面是使用Update()方法执行删除操作的示例代码:

try {
    Statement stmt = conn.createStatement();
    String sql = "DELETE FROM student WHERE name = '张三'";
    int rows = stmt.executeUpdate(sql);
    // rows的值为被删除的行数
} catch (SQLException e) {}

需要注意的是,在使用Update()方法时也可以使用PreparedStatement对象来代替Statement对象执行修改操作。

总结

JavaExecute()方法可以执行任意SQL语句,但它不适合执行查询语句;querry()方法适用于执行查询语句,并可以使用PreparedStatement对象来传递参数;Update()方法用于执行对数据库进行修改的操作。在实际应用中,应根据不同的需求选择不同的方法,以达到更好的性能和可读性。