2016-08-09 31 views
0

Ich bin beteiligt in Framework-Entwicklung für Datenbank-Anwendung, wo ich verschiedene SQL-Abfragen in einer Eigenschaftendatei speichern. Diese Abfragen werden in Eigenschaften in einem gespeicherten Datei gespeichert mit id-Wert als Variable dWie übergeben Laufzeitwert als Variablen in SQL-Abfrage in Eigenschaftendatei gespeichert

#query1 which finds deductible value 
deductiblevalue=Select deductible from TableName Where planId='V_PLAN_ID'; 

wo V_PLAN_ID ist eine Variable in der Abfrage.

V_PLAN_ID sollte zur Laufzeit definiert werden, wenn ich deductiblevalue Abfrage aus der Eigenschaftendatei aufrufen und die Abfrage auf einer Datenbank ausführen.

Antwort

0

Sie können eine PreparedStatement verwenden.

Zuerst die Variablen mit Fragezeichen ersetzen, sind diese indexbasierte Query-Variablen:

deductiblevalue=SELECT `deductible` FROM `TableName` WHERE planId = ?; 

Als nächstes importieren Sie die Eigenschaftendatei und lesen Sie die String in eine PreparedStatement:

final Properties queries = //read somehow 
try(final Connection connection = dataSource.getConnection(); 
    final PreparedStatement statement = connection.prepareStatement(queries.getProperty("deductiblevalue"))) { 
} 

Jetzt, Setzen Sie den Wert für die Variable - das sind 1 - indexed und typesafe:

statement.setInt(vPlanId); 

Und führen Sie als normal