Spring JdbcTemplate 中 PreparedStatement 的示例

2025年3月29日 | 阅读 2 分钟

我们可以借助 Spring JdbcTemplate 的 execute() 方法使用 Spring JdbcTemplate 执行参数化查询。要使用参数化查询,我们在 execute 方法中传递 PreparedStatementCallback 的实例。

execute 方法使用参数化查询的语法

PreparedStatementCallback 接口

它处理输入参数和输出结果。在这种情况下,您不需要关心单引号和双引号。

PreparedStatementCallback 接口的方法

它只有一个方法 doInPreparedStatement。该方法的语法如下所示


在 Spring 中使用 PreparedStatement 的示例

我们假设您已在 Oracle10g 数据库中创建了下表。

Employee.java

此类包含 3 个带有构造函数、setter 和 getter 的属性。

EmployeeDao.java

它包含一个属性 jdbcTemplate 和一个方法 saveEmployeeByPreparedStatement。您必须理解匿名类的概念才能理解该方法的代码。

applicationContext.xml

DriverManagerDataSource 用于包含有关数据库的信息,例如驱动程序类名、连接 URL、用户名和密码。

在 DriverManagerDataSource 类型的 JdbcTemplate 类的属性中有一个名为 datasource 的属性。 因此,我们需要在 JdbcTemplate 类的 datasource 属性中提供 DriverManagerDataSource 对象的引用。

在这里,我们在 EmployeeDao 类中使用 JdbcTemplate 对象,所以我们通过 setter 方法传递它,但是您也可以使用构造函数。

Test.java

此类从 applicationContext.xml 文件中获取 bean 并调用 saveEmployeeByPreparedStatement() 方法。