当一个查询只是查询条件在变(即where子句),我们没有必要每次查询都建立新的查询语句,而是预备一个带有宿主变量的查询语句。每次查询时只需为变量填入不同的字符串就可以反复的使用改语句。
PreparedStatement preparedStatement(String sql)
字符串sql 代表了一个SQL语句,该语句可以包含一个或多个由“?”指明的占位符
在从一个查询到另一个查询过程中, 只需使用setXxx方法(不同的数据类型不同的set方法)重新绑定那些需要改变的变量即可。
然后执行查询操作:ResultSet rs = preparedStmt.executeQuery();
这一技术不只是少写了代码,更重要的是提高了效率,因为每当数据执行一个查询时,它总是首先通过计算来去定查询策略,以便高效得执行查询操作。通过实现准备好查询并多次重用它,我们就可以确保查询所需的准备步骤只被执行一次。
当查询涉及变量时,即便不考虑效率问题,也建议使用预备语句。手动创建查询时,不得不考虑特殊字符。
PreparedStatement preparedStatement(String sql)
字符串sql 代表了一个SQL语句,该语句可以包含一个或多个由“?”指明的占位符
在从一个查询到另一个查询过程中, 只需使用setXxx方法(不同的数据类型不同的set方法)重新绑定那些需要改变的变量即可。
然后执行查询操作:ResultSet rs = preparedStmt.executeQuery();
这一技术不只是少写了代码,更重要的是提高了效率,因为每当数据执行一个查询时,它总是首先通过计算来去定查询策略,以便高效得执行查询操作。通过实现准备好查询并多次重用它,我们就可以确保查询所需的准备步骤只被执行一次。
当查询涉及变量时,即便不考虑效率问题,也建议使用预备语句。手动创建查询时,不得不考虑特殊字符。