jdbc 使用连接(和语句)
示例
一旦获得Connection,我们将主要使用它来创建Statement对象。Statements表示单个SQL事务;它们用于执行查询并检索结果(如果有)。让我们看一些例子:
public void useConnection() throws SQLException{ Connection conn = getConnection(); //我们可以使用Connection创建语句 Statement state = conn.getStatement(); //Statements are most useful for static, "one-off" queries String query = "SELECT * FROM mainTable"; boolean sucess = state.execute(query); //execute方法正是这样做的。它执行提供的SQL语句,如果执行提供的结果(即SELECT),则返回true,否则返回false。 ResultSet results = state.getResultSet(); //ResultSet对象表示SQL语句的结果(如果有)。 //在这种情况下,ResultSet包含查询语句的返回值。 //下一个示例将更详细地检查ResultSet。 ResultSet newResults = state.executeQuery(query) //executeQuery方法是一种“快捷方式”方法。它将execute和getResultSet方法合并为一个步骤。 //请注意,提供的SQL查询必须能够返回结果。通常,它是一个静态SELECT语句。 //Statement接口提供了许多类似的“快捷方式”方法,包括executeUpdate和executeBatch //陈述虽然有用,但并不总是最佳选择。 String newQuery = "SELECT * FROM mainTable WHERE id=?"; PreparedStatement prepStatement = conn.prepareStatement(newQuery); //PreparedStatement是变量语句的首选,尤其是将要多次执行的语句 for(int id:this.ids){ prepStatement.setInt(1,id); //PreparedStatements允许您使用多种设置方法设置绑定变量。 //各种set方法中的任何一个的第一个参数是要设置的绑定变量的索引。请注意,它从1开始,而不是0。 ResultSet tempResults = prepStatement.executeQuery() //就像声明一样,PreparedStatement也有几个快捷方法。 //与声明不同,PreparedStatement不会将查询字符串作为其任何执行方法的参数。 //执行的语句始终是传递给创建PreparedStatement的Connector.prepareStatement调用的语句。 } }