sql >> Database teknologi >  >> RDS >> Mysql

Consecutive Prepared Statement god praksis

Du bruger ikke den samme PreparedStatement , fabriksmetoden Connection.prepareStatement returnerer dig en ny instans, hver gang du ringer til den. PreparedStatement.executeQuery gør det samme med ResultSet . Du bruger bare de samme variabler.

Det betyder, at du lækker ressourcer - det første PreparedStatement og ResultSet - hver gang denne metode kaldes, som aldrig bliver lukket.

Min anbefaling ville være at bruge Springs JdbcTemplate som vil håndtere disse databaseressourcer korrekt for dig, og du deler din kode op i to metoder.




  1. Mysql AVG for at ignorere nul

  2. Udløbsdato som standardværdi for kolonnen TIMESTAMP

  3. Laravel + Vagrant =Adgang nægtet for brugeren 'root'@'localhost'

  4. Hvordan forbinder man sikkert til en MySQL-database ved hjælp af SQLalchemy?