SQLBuilder

SQLBUILDER is een bibliotheek die probeert de pijn uit te voeren uit het genereren van SQL-query's binnen Java-programma's.
Download nu

SQLBuilder Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Health Market Science
  • Uitgever website:

SQLBuilder Tags


SQLBuilder Beschrijving

SQLBuilder is een bibliotheek die probeert de pijn uit te voeren uit het genereren van SQL-query's binnen Java-programma's. Gebruik één programmeertaal (Java) om code voor een andere taal te genereren (d.w.z. sql) is altijd een uitdaging. Er zijn altijd problemen met ontsnappende personages binnen string-literalen, op de juiste plaats komen en krijgen de haakjes die overeenkomen. En vaak, zelfs nadat de code wordt gedebuggeerd en volledig getest, is het nog steeds erg fragiel. De geringste verandering zal dingen uit balans gooien en een andere testronde nodig hebben en aanpassen.Sqlbuilder verandert van dat hele scenario door de SQL-syntaxis in zeer lichtgewicht en gemakkelijk te gebruiken Java-objecten die de "bouwer" paradigma volgen (vergelijkbaar met stringbuilder). Dit verandert veel gemeenschappelijke SQL-syntactische, runtime-fouten in Java-compiler-time-fouten! Laten we meteen in een aantal snelle voorbeelden duiken om te zien hoe het allemaal werkt. Slectquery Examplea eerlijk Simple SQL Select Query Embedded in een Java-programma kan momenteel iets dergelijks uitzien: // Veronderstelde een verscheidenheid aan vooraf gedefinieerde string ConstantsSstring Selectquery = "Selecteer" + T1_COL1 + "," + T1_COL2 + "," + T2_COL1 + "van" + Table1 + "" + T1 + "Inner Join" + Tabel2 + "" + T2 + "AAN (" + T1_IDCOL + "=" + T2_IDCOL + ") Bestel op" + T1_COL1; wanneer deze query is gewijzigd, moet u ervoor zorgen dat er voldoende komma's, haakjes en spaties zijn om de juiste query te genereren (om nog maar te zwijgen van de juiste kolommen voor de gegeven tabellen en de juiste aliassen Die tabellen) .an Poging tot verbetering kan er zoiets uitzien: String SelectQuery = MessageFormat.Format ("Selecteer {0}, {1}, {2} van {3} {4} Innerlijke join {5} {6} op ( {7} = {8}) "+" Bestel op {9} ", T1_COL1, T2_COL2, T2_COL1, TAPE1, T1, TACE2, T2, T1_IDCOL, T2_IDCOL, T1_COL1); deze techniek verwijdert ten minste een deel van de F Ormattingsproblemen, zoals de query-syntaxis in één aangrenzende reeks is. Het afstemmen van de placeholders met de argumenten is echter geen eenvoudige taak en eenvoudige herschikking kunnen eenvoudig de resulterende query-reeks verknoeien. Bovendien is dit nog steeds geen haalbare oplossing voor elke soort dynamische query-generatie. Laten we eens kijken hoe deze query uitziet met behulp van SQLBuilder-klassen: // Aangeend dat deze objecten al zijn gecreeerd Tabel1, Tabel2; Kolom T1COL1, T1COL2, T2COL1; WOCBOFF1ANDT2; String SelectQuery = (Nieuwe selectquery ()) .ADDColumns (T1COL1, T1COL2, T2COL1) .ADDJOIN (selectquery.jointype.inner_join, joinoft1andt2) .Addordings (T1COL1) .Validate (). ToString (); zie hoe gemakkelijk ? Geen enkele ingebouwde komma, ruimte of haakjes te zien! Merk op hoeveel leesbaarder deze versie is vergeleken met de vorige versies? Terwijl de Java een beetje meer uitgebreid is, kunt u de SQL in Java inschakelen, kunt u uw bestaande Java-toolset gebruiken bij het schrijven van SQL (Think Compile-Time Syntaxiscontrole en IDE-code voltooiing). Deze toegevoegde functionaliteit is de twijfel de moeite waard, bekijk de validate () methode-oproep die is uitgeschakeld in het einde van de verklaring. Die oproep zal verifiëren dat de kolommen en tafels in de query eigenlijk logisch zijn. Onderhoudbaarheid, leesbaarheid en verifieerbaarheid ingepakt in één eenvoudig te gebruiken pakket. Hier zijn enkele belangrijke kenmerken van "SQLBUILDER": Goed gedeelte van veelgebruikte SQL (zie de samenvatting van de pakket voor een completere lijst), inclusief: · Selecteer, update, verwijderen, invoegen, maken, druppelen, unie · De meeste booleaanse logica · Meest numerieke uitdrukkingen · 99% van de SQLBUILDER CODEBASE is ANSI SQL92-compliant · JDBC ESCAPE SYNTAX-ondersteuning (JDBCESCAPE) · Helpers voor het beheren van geprepareerde verklaringsparameters (queryproef) en het lezen van resultaten (Queryleader) · Optionele queryvalidatie Twee gebruiksmodi: · Voorgedefinieerd, sterk verifieerbaar databasemodel (optioneel met behulp van de meegeleverde basisimplementatie) · Volledig aangepaste, zwak verifieerbare constanten met behulp van DouaneQL Wat is er nieuw in deze release: · De methode HASPARENS () is toegevoegd aan NestableClause, zodat de inconditie nauwkeurig kan bepalen of de waarden tussen haakjes moeten worden gewikkeld of niet.


SQLBuilder Gerelateerde software