Les différentes modalités d'exécution de l'instruction bulk insert dans la base de données à partir d'une application java

Je suis à la recherche de façons différentes pour procéder à l'instruction bulk insert dans la base de données (par exemple, SQL Server 2012) à partir d'une application Java. J'ai besoin d'insérer beaucoup d'entités dans la base de données de manière très efficace sans faire autant d'appels à la base de données qu'il y a des entités.

Mon exigence est d'effectuer une insertion en bloc d'entités, d'où l'insertion de l'entité dans la base de données qui pourrait impliquer l'insertion de données dans une ou plusieurs tables. Voici les deux façons dont je peux penser:

  1. Générer dynamiquement un lot d'instructions SQL et de l'exécuter sur la base de données par les indigènes charge JDBC.

  2. Construire une représentation XML de toutes les entités, puis appeler une procédure stockée en passant par le XML généré. La procédure stockée qui prend soin de l'analyse du XML et de l'insertion des entités de la base de données.

Je suis nouveau sur Java et de ne pas avoir assez de connaissance de la disposition des cadres. L'OMI, les deux approches ci-dessus semble être très naïf et ne pas tirer parti de la disposition des cadres. Je demande des experts à partager sur les différents moyens de parvenir à l'insertion en bloc, avec ses avantages et ses inconvénients. Je suis ouvert à MyBatis, Printemps-MyBatis, Printemps-JDBC JDBC, etc qui résout le problème d'une manière efficace.

Grâce.

  • Vous pouvez essayer de l'exécution du lot, comme indiqué dans l'exemple de code demo posté dans une des réponses, et voir si cela fonctionne assez rapide pour vous.
  • Oui, bien sûr.
InformationsquelleAutor Anand Patel | 2013-03-09