$sql.prepareStatement¶
Description¶
Crée un prepared statement et retourne ce dernier en tant qu'objet pojo
en vue d'une utilisation future.
Remarque concernant l'utilisation
Veuillez lire ce qui suit avant d'envisager d'utiliser les méthodes
$sql.prepareStatement, $sql.releaseStatement, $sql.addBatch,$sql.executeBatchet$sql.clearBatch`.
Ces méthodes nécessitent une connexion durable à la base de données.
Cela signifie que l'application va monopoliser une connexion à la
base de données entre la création du prepared statement et sa
libération via $sql.releaseStatement. Cela peut être un problème si le
nombre de connexions à la DB est limité et que plusieurs threads peuvent
fonctionner en parallèle.
D'autre part, l'intérêt principal de $sql.prepareStatement est de
permettre d'utiliser des batchs. Cependant dans les faits et pour une
utilisation normale, le recours aux batchs ne présente pas de gain notable
de performances en comparaison d'une utilisation intelligente des
méthodes SQL standard. Par exemple, il sera généralement plus efficace de
regrouper des insertions dans un seul statement du genre
plutôt que de passer en série des appels à $sql.addBatch.
Syntaxe¶
$sql.prepareStatement( query [ , options ] )
Paramètres¶
querystring- Requête servant de base au prepared statement
optionsmap-
Map d'options. Les options reconnues sont:
autocommitboolean- Flag
true/falsepermettant d'activer/désactiver l'auto-commit. Par défaut l'auto-commit est actif. typestring- Indication passée au processeur pour renseigner sur le type de
requête. Le type de requête influence sur la valeur de retour de
la requête: une requête de type SELECT retourne un resultset
contenant les données recherchées alors qu'une requête de type
INSERT retourne les valeurs de clés auto-générées. Ainsi, on
pourra indiquer que la requête est de type "insert" au moyen
du terme
insert. connectionstring- Nom de connexion de laquelle exécuter la requête. Le nom doit faire référence à une connexion définie dans le fichier de configuration
Retour¶
La méthode retourne l'identifiant généré pour le prepared statement référencé en cache. L'identifiant en question est un UUID.
Exemple¶
Exemple de base. Notez l'utilisation de try/finally et l'exécution de la
méthode $sql.releaseStatement dans la clause
finally afin de s'assurer qu'elle soit exécutée dans tous les cas.
Exemple plus avancé dans lequel on génère plusieurs prepared statements à la fois.