2017-04-09 14 views
0

私は自分のプロジェクトでデータベースコーディングのためにDAOクラスでJdbcDaoSupportを使用しており、テーブルから "メンバーを削除"というシナリオがあります。私はgetJdbcTemplate.updateを使用しています( "delete MEMBERINFO where memid =" + id ";方法。しかし、テーブルにデータがない場合、例外は発生しません。テーブルにレコードがなく、ユーザーが削除しようとしている場合、ユーザーには「ユーザーが見つかりません」というエラーメッセージが表示されるという条件です。しかし、私は例外が必要です。この場合、私は得られません。私はoracle 11g xeを使用しています。データベーステーブルにレコードがない場合、春の削除操作を処理する方法は?

また、getJdbcTemplate.query( "select * from MEMBERINFO")の同じ問題。 データがない場合、例外は発生しません。

答えて

0

実際にはJdbcTemplate'sの更新メソッドがintを返します - 行数が影響を受けました。返される行の量を確認するだけです。 0の場合、エラーメッセージが表示されます。

クエリは、リストが空であれば問題ありません。オブジェクトが1つだけ必要な場合は、 queryForObject()メソッドを使用してください。結果が見つからない場合は例外がスローされます。

目次:getJdbcTemplate.update("delete MEMBERINFO where memid= "+id);にはSQLインジェクションが含まれています。代わりにパラメータを使用します。

+0

はい私はそれを得ました。 しかし、私はどのようにgetJdbcTemplate.queryForObject( "select * from MEMBERINFO")を実行するのですか? 私はMEMBERINFOからselect *を意味します。 –

+0

行呼び出しの呼び出しが必要な場合は、値が1つだけ必要な場合はqueryForObjectを呼び出します。私は最初にそれがエラーを表示していたが、私は queryForObject( "select count(*)from MEMBERINFO") – StanislavL

+0

queryForObject行のカウントが必要な場合は、queryForObject( "select count(*)from MEMBERINFO")を呼び出すことができます。 ( "select count(*)from MEMBERINFO"、Integer.class) は正常に動作しています –

関連する問題