使用JDBCTemplate与预编译语句
- 论坛
- 使用JDBCTemplate与预编译语句
14 浏览
使用JDBCTemplate与预编译语句
我正在使用JDBC模板,并希望使用预编译语句从数据库中读取数据。我在一个.csv文件中迭代多行,在每一行中使用相应的值执行一些SQL选择查询。
我想加快从数据库中读取数据的速度,但我不知道如何使JDBC模板与预编译语句一起工作。
有PreparedStatementCreator和PreparedStatementSetter。就像这个例子中所示,它们都是使用匿名内部类创建的。
但是在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():