Spring JdbcTemplate更新Sql命令

时间:2016-08-11 19:12:26

标签: spring oracle jdbctemplate

我使用Eclipse与Spring,Oracle SQL和JdbcTemplate。我试图根据数据的大小删除某些数据,SQL命令在Oracle Sql Developer中工作并完成我想要的工作。

DELETE from TABLE where DATE_COLUMN < SYSDATE - INTERVAL '30' DAY;

然而,在我的DAOImpl.java

int thirty = 30;
String sql = "DELETE from TABLE where DATE_COLUMN < SYSDATE - INTERVAL ? DAY";
jdbcTemplate.update(sql, thirty);

我在ORA-00933: SQL command not properly ended ? Caused by: java.sql.SQLException: Invalid column index'?'获得?

  1. 我不确定"?"Integer.class

  2. 如何正确使用jdbcTemplate.update()?我尝试添加params参数和int对象,但sql命令仍然无法正常工作。

  3. 最初我只是试图以String sql = "select count(*) from TABLE"; return jdbcTemplate.queryForObject(sql, Integer.class); 传递,然后我尝试传入字符串数字30,但它仍然无法正常工作。

    我真的不确定我做错了什么。

    我连接到数据库,一切正常,我尝试了一些更简单的SQL命令,如

    '30'

    它起作用并返回。

    编辑: 我可以?代替我String sql = "DELETE from TABLE where DATE_COLUMN < SYSDATE - INTERVAL ? DAY";中的#[fg=colour28 bg=colour250]Hello World! 并运行正确,但我不想对其进行硬编码。

0 个答案:

没有答案