JDBC insérer ou de mettre à jour la pratique

J'ai besoin d'insérer un enregistrement dans la table si le dossier n'existe pas, et pour mettre à jour un enregistrement si l'enregistrement existe dans la table.
Bien sûr, je peux écrire:
p-code:

SELECT * FROM table1 WHERE id='abc' by JDBC
if(exists)
   UPDATE table1 SET ... WHERE id='abc' by JDBC;
else
   INSERT INTO table1... by JDBC;

Cependant, je ne pense pas que le code est élégant.
Sinon, je peux aussi l'écrire de cette façon:
p-code:

int row = Statement.executeUpdate("INSERT INTO table1...", 2);
if(row==0)
  update table1 SET ... WHERE id='abc' by JDBC;

Pensez-vous de la dernière façon est mieux et plus vite? Merci!

EDIT: dans MYSQL

OriginalL'auteur | 2011-06-06