sql >> データベース >  >> RDS >> Mysql

連続したPreparedStatementのグッドプラクティス

    同じPreparedStatementを使用していません 、ファクトリメソッドConnection.prepareStatement 呼び出すたびに新しいインスタンスが返されます。 PreparedStatement.executeQuery ResultSetでも同じことをしています 。同じ変数を使用しているだけです。

    これは、リソースをリークしていることを意味します-最初のPreparedStatement およびResultSet -このメソッドが呼び出されるたびに、閉じられることはありません。

    SpringのJdbcTemplateを使用することをお勧めします これにより、これらのデータベースリソースが正しく処理され、コードが2つのメソッドに分割されます。




    1. MySqlと最後のIDの挿入の問題が残っています

    2. PostgreSQLを使用して同じクエリの複数の行を更新する

    3. 列の変更と列の変更

    4. 1つのクエリで同じサブクエリが複数回使用される