2016-08-09 5 views
0

データベースアプリケーションのフレームワーク開発で、さまざまなSQLクエリをプロパティファイルに格納しています。これらのクエリは、特性の中に格納され格納されV_PLAN_IDがクエリに可変である可変即ちプロパティファイルに格納されているSQLクエリのランタイム値を変数として渡す方法

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

としてID値を持つファイル。

V_PLAN_IDは、実行時にプロパティファイルからdeductiblevalueクエリを呼び出して定義し、dbに対してクエリを実行する必要があります。

答えて

0

PreparedStatementを使用できます。

まず、疑問符で変数を置き換え、これらはインデックスベースのクエリ変数です:

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

次に、StringPreparedStatementにプロパティファイルをインポートし、読み:今すぐ

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

を、変数の値を設定します。これらは1 - indexedであり、タイプセーフです。

通常通り実行します。

try(final ResultSet resultSet = statement.executeQuery()) { 
    //read results 
} 
関連する問題