2017-04-09 13 views
0

我在我的项目中使用DAO类中的JdbcDaoSupport进行数据库编码,并且存在从表中删除成员的情况。我正在使用getJdbcTemplate.update(“删除MEMBERINFO where memid =”+ id);方法。但是如果表中没有数据,它不会引发任何异常。条件是,如果表中没有记录,但用户试图删除,则用户将显示错误消息“未找到用户”。但为此,我需要例外,在这种情况下,我没有得到。我使用的是Oracle 11g xe。如果在数据库表中没有记录,如何在春季处理删除操作?

对于getJdbcTemplate.query(“select * from MEMBERINFO”)也是同样的问题; 如果没有数据,它不会引发任何异常。

回答

0

其实JdbcTemplate's更新方法返回int - 行数受到影响。您只需检查返回的行数。如果它是0,您可以显示一条错误消息。

至于查询它很好,列表是空的。如果您只需要一个对象,请使用 queryForObject()方法。如果没有找到结果,它会抛出异常。

BTW:getJdbcTemplate.update("delete MEMBERINFO where memid= "+id);包含SQL注入。改用参数。

+0

是的,我明白了。 但我将如何执行getJdbcTemplate.queryForObject(“select * from MEMBERINFO”) 它引发异常 我的意思是选择*从MEMBERINFO:如果我想得到的记录没有返回什么是程序? –

+0

如果您需要行调用查询,如果您只需要一个值调用queryForObject。顺便说一句,你可以调用queryForObject(“从MEMBERINFO选择计数(*)”),如果你只需要计数行 – StanislavL

+0

queryForObject(“从MEMBERINFO选择计数(*)”) 最初它显示错误,但我修改它为 queryForObject (“从MEMBERINFO选择计数(*)”,Integer.class) 现在工作正常 –

相关问题