JDBC语句
Java JDBC语句java.sql.Statement接口用于对关系数据库执行SQL语句。我们可以从JDBC连接获取JDBCStatement
。一旦有了JavaStatement
实例,我们就可以执行数据库查询或者数据库更新。该Java JDBCStatement
教程将说明如何使用Statement
执行查询,更新以及完成后如何正确关闭Statement
实例。
创建语句
为了使用Java JDBCStatement
,首先需要创建一个Statement
。这是创建JavaStatement
实例的示例:
Statement statement = connection.createStatement();
" connection"实例是一个Java JDBC Connection实例。
通过语句执行查询
一旦创建了JavaStatement
对象,就可以对数据库执行查询。为此,我们可以调用其executeQuery()
方法,并传递一条SQL语句作为参数。 " Statement" executeQuery()方法返回一个Java JDBC ResultSet,可用于导航查询的响应。这是调用Java JDBCStatement``executeQuery()
并导航返回的ResultSet
的示例:
String sql = "select * from people"; ResultSet result = statement.executeQuery(sql); while(result.next()) { String name = result.getString("name"); long age = result.getLong ("age"); }
记住,ResultSet
完成后需要关闭。
通过语句执行更新
我们还可以通过Java JDBCStatement
实例执行数据库的更新。例如,我们可以通过Statement
实例执行SQL插入,更新或者删除操作。这是一个通过Java JDBCStatement
实例执行数据库更新的示例:
Statement statement = connection.createStatement(); String sql = "update people set name='John' where id=123"; int rowsAffected = statement.executeUpdate(sql);
由statement.executeUpdate(sql)调用返回的rowsAffected告诉该SQL语句影响了数据库中的多少条记录。
结束语句
完成" Statement"实例后,我们需要关闭它。我们可以通过调用实例的close()方法来关闭它的实例。这是关闭Java JDBCStatement
实例的示例:
statement.close();
使用Java结束语句尝试使用资源
为了在使用后正确关闭Statement
,可以在Java Try With Resources块中打开它。这是一个使用try-with-resources构造关闭Java JDBCStatement
实例的示例:
try(Statement statement = connection.createStatement()) { //use the statement in here. } catch(SQLException e) { }
一旦" try"块退出," Statement"将自动关闭。
Statement与PreparedStatement比较
Java JDBC API具有类似于" Statement"的接口,称为PreparedStatement。 PreparedStatement可以在SQL语句中插入参数,因此PreparedStatement可以使用不同的参数值一次又一次地重用。我们不能使用"Statement"来做到这一点。一个"Statement"需要一个完成的SQL语句作为参数。