# Java Sprachsyntax und SQL - F0rtschritte?



## mfernau (6. Feb 2009)

Hallo,

ich bin was die Entwicklung der Java Sprachsyntax in Java6 oder Java7 betrifft nicht auf dem Laufenden. Aber gibt es denn nicht irgend eine neue Entwicklung für eine vereinfachte Beschreibung von SQL-Befehlen? 
Sind wir mal ehrlich - diese concatenierten Strings sind doch nun wirklich sowas von hinterm Mond... Übersichtlichkeit ist da nen Fremdwort. In anderen Sprachen habe ich wenigstens die Möglichkeit Strings über mehrere Zeilen laufen zu lassen ohne Concatenation benutzen zu müssen. Somit hab ich wenigstens den kompletten SQL-Befehl im Blick und werde nicht von X '+' Zeichen und Hochkommatars verwirrt und abgelenkt. Und so ein SQL-Befehl mal zu ändern ist auch nicht gerade lustig...

Weiss da jemand von irgendeiner Entwicklung in diese Richtung?

Beste Grüße,
Martin

PS:


> Der Titel darf aus Spamschutzgründen nicht das Wort 'for' enthalten!


Ich muss mal lachen... "Fortschritt" ist damit verboten? Also bitte....


----------



## HoaX (6. Feb 2009)

Nein hat sich nicht, und wird sich sicher auch nicht so schnell ändern.

Aber sind wir doch mal ehrlich: Welcher ernst zu nehmende Programmierer schreibt seine SQL-Totschläger fest in den Code ... ? Kurze Queries ok, aber da stört mich ein + auch nicht ...


----------



## Ebenius (6. Feb 2009)

In manchen Projekten muss man leider damit leben, auch lange Queries per Strings aufzubauen. Wenn das notwendig ist, dann gewöhn Dir am besten gleich an, Dein Strings mit der StringBuilder-Klasse aufzubauen.

Ebenius


----------



## SlaterB (6. Feb 2009)

je nach Formatierungsmöglichkeiten gehts vielleicht auch ohne +,
aber immer noch mit " und ,


```
public class Test
{
    public static void main(String[] args)
        throws Exception
    {
        String qs = null;
        qs = a("    888                                                      ",
               "    888                                                      ",
               "    888                                                      ",
               "    888                                                      ");

    }

    private static String a(String... part)
    {
        return "";
    }
}
```


----------



## byte (6. Feb 2009)

mfernau hat gesagt.:
			
		

> ich bin was die Entwicklung der Java Sprachsyntax in Java6 oder Java7 betrifft nicht auf dem Laufenden. Aber gibt es denn nicht irgend eine neue Entwicklung für eine vereinfachte Beschreibung von SQL-Befehlen?
> Sind wir mal ehrlich - diese concatenierten Strings sind doch nun wirklich sowas von hinterm Mond... Übersichtlichkeit ist da nen Fremdwort. In anderen Sprachen habe ich wenigstens die Möglichkeit Strings über mehrere Zeilen laufen zu lassen ohne Concatenation benutzen zu müssen. Somit hab ich wenigstens den kompletten SQL-Befehl im Blick und werde nicht von X '+' Zeichen und Hochkommatars verwirrt und abgelenkt. Und so ein SQL-Befehl mal zu ändern ist auch nicht gerade lustig...
> 
> Weiss da jemand von irgendeiner Entwicklung in diese Richtung?



Die Entwicklung geht schon seit Jahren in Richtung ORM. Das wohl meist genutzt ORM-Framework ist Hibernate. Dort schreibst Du idR gar kein SQL mehr sondern HQL oder baust die Statements programmatisch zusammen (per Criteria oder DetachedCriteria). Hochkommata braucht man dabei idR nicht mehr zu setzen, wenn man parametrisierte Queries baut. Und wie man Strings auf mehrere Zeilen aufteilen kann ohne den + Operator, das hat slaterb ja schön gezeigt.


----------



## mfernau (6. Feb 2009)

Aha, dann muss ich mir das mit dem ORM mal ansehen. Irgendwie ist das dann wohl an mir vorbei gelaufen. 
Naja, liegt wohl auch daran, dass ich in so vielen unterschiedlichen Sparten programmiere. Das hat den Nachteil, dass man nirgends so bis in die letzte Tiefe drin steckt. Deswegen hier auch die Frage. Immer wieder wenn ich mal eine Anwendung baue die hier und da ein paar SQL-Statements benötigt, stört mich dieses Zusammengefrickel doch irgendwie sehr. Ob ich in solchen Fällen allerdings gleich ganze Frameworks einsetzen möchte ist mal noch eine andere Frage. Aber okay...

Danke erstmal für die Infos


----------



## tfa (6. Feb 2009)

ORM-Frameworks sind natürlich die erste Wahl. Falls man sich kleinere Querys mal als Strings zusammenfrickeln möchte, empfehle ich String.format().


----------

