Sqlbuilder

SQLBuilder est une bibliothèque qui tente de subir la douleur de générer des requêtes SQL dans les programmes Java.
Télécharger maintenant

Sqlbuilder Classement & Résumé

Publicité

  • Rating:
  • Licence:
  • GPL
  • Prix:
  • FREE
  • Nom de l'éditeur:
  • Health Market Science
  • Site Internet de l'éditeur:

Sqlbuilder Mots clés


Sqlbuilder La description

SQLBuilder est une bibliothèque qui tente de prendre la peine de générer des requêtes SQL dans les programmes Java. L'utilisation d'un langage de programmation (Java) pour générer du code pour une autre langue (par exemple SQL) est toujours un défi. Il y a toujours des problèmes avec l'échappement des caractères dans les chaînes littérales, obtenir des espaces au bon endroit, et obtenir les parenthèses pour correspondre. Et souvent, même après que le code est débogué et entièrement testé, il est encore très fragile. Le moindre changement jeter des choses hors de l'équilibre et nécessitent une autre série de tests et tweaking.SqlBuilder changements tout ce scénario en enroulant la syntaxe SQL dans très léger et facile à utiliser des objets Java qui suivent le paradigme du « constructeur » (similaire à StringBuilder). Cela change beaucoup de SQL syntaxiques commun, des erreurs d'exécution dans les erreurs de compilation Java! droit de plongée Let pour quelques exemples rapides pour voir comment tout cela works.SelectQuery ExampleA assez simple requête SQL select intégré dans un programme Java pourrait ressembler actuellement quelque chose comme ceci: // en supposant une variété de chaîne prédéfinie constantsString selectQuery = « SELECT » + T1_COL1 + "" + T1_COL2 + "" + T2_COL1 + "FROM" + TABLE1 + "" + T1 + "INNER JOIN" + TABLE2 + "" + T2 + "ON (" + T1_IDCOL + "=" + T2_IDCOL + « ) ORDER BY » + T1_COL1, chaque fois que cette requête est modifiée, vous devez vous assurer qu'il ya des virgules suffisantes, entre parenthèses, et des espaces pour générer la requête correcte (pour ne pas mentionner les colonnes correctes pour les tables données et les alias corrects pour les tables) .Une tentative d'amélioration peut ressembler à ceci: String = selectQuery MessageFormat.format ( « SELECT {0}, {1}, {2} {3} DE {4} {INNER JOIN 5} {6} ON ( {7} = {8}) "+ "ORDER BY {9}", T1_COL1, T2_COL2, T2_COL1, TABLE1, T1, TABLE2, T2, T1_IDCOL, T2_IDCOL, T1_COL1) Cette technique élimine au moins une partie de la f questions ormatting, comme la syntaxe de requête est dans une chaîne contiguë. Cependant, faisant correspondre les espaces réservés aux arguments est pas une tâche simple et simple réarrangements peut facilement gâcher la chaîne de requête résultant. De plus, ce n'est pas encore une solution viable pour toute sorte de generation.Now dynamique de recherche, nous allons voir comment cette apparence de requête à l'aide des classes de SQLBuilder: // En considérant que ces objets ont déjà été createdTable table1, table2, Colonne t1Col1, t1Col2, t2Col1; Rejoignez joinOfT1AndT2; Chaîne selectQuery = (nouvelle selectQuery ()) .addColumns (t1Col1, t1Col2, t2Col1) .addJoin (SelectQuery.JoinType.INNER_JOIN, joinOfT1AndT2) .addOrderings (t1Col1) .validate () toString ();. Voir la facilité qui était ? Pas une virgule intégré, l'espace, ou entre parenthèses à voir! Remarquez comment beaucoup plus facile à lire cette version est comparée aux versions précédentes? Alors que Java est un peu plus bavard, transformant le SQL en Java vous permet d'utiliser votre jeu d'outils Java existant lors de l'écriture SQL (pensez à la compilation vérification de la syntaxe et le code IDE achèvement). Cette fonctionnalité ajoutée vaut bien le haut commerce off.On de ce, consultez l'appel de méthode validate () a glissé dans la fin de l'instruction. Cet appel vérifiera que les colonnes et les tables de la requête font réellement sens. Maintenabilité, la lisibilité et vérifiabilité tout enveloppé dans un facile à forfait d'utilisation. Voici quelques caractéristiques principales de « SQLBuilder »: Bonne partie de SQL couramment utilisée (voir le résumé du package pour une liste plus complète), y compris: · SELECT, UPDATE, DELETE, INSERT, CREATE, DROP, UNION · La plupart logique booléenne · La plupart des expressions numériques · 99% de la base de code SQLBuilder est compatible ANSI SQL92 · Prise en charge de la syntaxe d'échappement JDBC (JdbcEscape) · Aides pour la gestion des paramètres d'instruction préparés (QueryPreparer) et les résultats de lecture (QueryReader) · Validation requête en option Deux modes d'utilisation: · Prédéfini, le modèle de base de données fortement vérifiable (éventuellement en utilisant la mise en oeuvre de base inclus) · Entièrement personnalisés, des constantes faiblement vérifiables à l'aide CustomSql Quoi de neuf dans cette version: · La méthode hasParens () a été ajouté à NestableClause afin que InCondition peut déterminer avec précision si les valeurs doivent être enveloppées entre parenthèses ou non.


Sqlbuilder Logiciels associés