使用JDBCTemplate与预编译语句

14 浏览
0 Comments

使用JDBCTemplate与预编译语句

我正在使用JDBC模板,并希望使用预编译语句从数据库中读取数据。我在一个.csv文件中迭代多行,在每一行中使用相应的值执行一些SQL选择查询。

我想加快从数据库中读取数据的速度,但我不知道如何使JDBC模板与预编译语句一起工作。

PreparedStatementCreatorPreparedStatementSetter。就像这个例子中所示,它们都是使用匿名内部类创建的。

但是在PreparedStatementSetter类内部,我无法访问我想要设置在预编译语句中的值。

由于我正在迭代一个.csv文件,我无法将它们硬编码为字符串,因为我不知道它们。

我也不能将它们传递给PreparedStatementSetter,因为构造函数没有参数。而将我的值设置为final也是愚蠢的。

我过去习惯了创建预编译语句相当简单。就像这个Java教程中的示例:

PreparedStatement updateSales = con.prepareStatement(
    "UPDATE COFFEES SET SALES = ? WHERE COF_NAME LIKE ? ");
updateSales.setInt(1, 75); 
updateSales.setString(2, "Colombian"); 
updateSales.executeUpdate():

0