Java: Bereiten Sie eine Anweisung, ohne eine Verbindung
Ich versuche zu generieren, einige sql-Dateien in meine java-Anwendung.
Die Anwendung wird nicht ausführen beliebiger sql-Anweisungen, generieren Sie eine Datei mit sql-Anweisungen, und speichern Sie es.
Ich würde gerne die java.sql.PreparedStatement
zu schaffen, meine Aussagen, so dass ich nicht überprüfen jede saite usw. mit meinen eigenen Methoden.
Gibt es einen Weg, um die PreparedStatement
ohne den Aufruf java.sql.Connection.prepareStatement(String)
Funktion, weil ich nicht haben eine java.sql.Connection
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick auf diese Java-Bibliothek: http://openhms.sourceforge.net/sqlbuilder/
Ich vermute, dass, bis Sie haben eine sql-Verbindung, die der parser nicht wissen, welche Regeln zu gelten. Ich vermute, dass es tatsächlich den SQL-Treiber oder sogar server kompilieren der sql-Anweisung.
Vorausgesetzt dein sql ist einfach genug, dann wie wäre es mit einer günstigen Verbindung, wie, sagen wir eine sqlite-Verbindung.
SQLite wird eine neue Datenbank zu erstellen on-the-fly, wenn die Datenbank, die Sie versuchen, eine Verbindung nicht vorhanden ist.
Nicht wirklich. Die Vorbereitung einer Anweisung in den meisten Fällen bedeutet, dass es sein wird, zusammengestellt von DBMS, die "schwer" ohne Verbindung.
http://java.sun.com/docs/books/tutorial/jdbc/basics/prepared.html
Dies ist ein hinterhältigen hinterhältigen problem, zum Glück ist es ziemlich einfach zu bewältigen:
Verwenden, schreiben Sie einfach eine anonyme Klasse, die overrides void preparePrepared(PreparedStatement):
Presto! Sie haben nun einen Weg zur Arbeit mit einem PreparedStatement verwenden, ohne noch mit gebaut. Hier ist ein Beispiel zeigt die minimal-boilerplate, Sie würde sonst zum kopieren und einfügen an kingdom come, jedes mal, wenn Sie schreiben wollte, eine andere Aussage:
Sie wirklich, wirklich wollen nicht kopieren und einfügen, dass überall, tun Sie?
Versuchen Umsetzung PreparedStatement.
Beispiel : Klasse YourOwnClass implementiert PreparedStatement {
//1. Implementieren Sie alle Methoden ,
2. Holen Sie sich die minimal-Logik zu implementieren, die von OraclePreparedStatement(classes12.jar) oder
Sonne.jdbc.odbc.JdbcOdbcCallableStatement
}