面倒なテンプレートグループファイルを使用したり、オブジェクト注釈で生の SQL を使用する機能を犠牲にしたりせずに、SQL オブジェクトで使用するために、クエリ名、ステートメント
をMap
含むコンテンツを のステートメントキャッシュに追加するにはどうすればよいですか?Handle
@Define
Map<String,String> querySource = new HashMap<>();
querySource.put("sql/BasicDao/simpleSelect","Select * FROM <schemaName>.table_of_vast_importance")
handle.somehowAddToStatementCache(querySource)
...
public interface BasicDao {
@SqlQuery("sql/BasicDao/simpleSelect")
BasicBean selectFromTable(@Define("schemaName") String);
@SqlQuery("SELECT ... FROM ...")
BasicBean moreComplicatedSelect(@Define("schemaName) String)
...
}
データベース内の各テーブルのすべての操作に対してボイラープレート SQL を記述する必要をなくすために、SQL オブジェクトのアプリの読み込み時に基本的な CRUD 操作をプログラムで生成しようとしています。問題は、@Define
SQL オブジェクト インターフェイスに@UseStringTemplate3StatementLocator
;と注釈を付ける場合にのみ機能するように見えることです。ただしStringTemplate3StatementLocator
、その場で生成されたクエリを追加するための明白な方法を提供していないようです。