データベースからデータを抽出する小さな Java ライブラリに取り組んでいます。
汎用Java クラスがあるとします。
パブリック クラス MyClass {
public int valueA;
public String valueB;
public Double valueC;
//getter and setter methods.
}
その後、SQL クエリ文字列を定義し、ジェネリック クラスのクラスを取得しますMyClass
。
String sql = "Select c.valueA, c.valueB, c.valueC from my_table c";
Class<MyClass> type = MyClass.class;
List<MyClass> results = extractData(sql, type)M
メソッドextractData
は、次のメソッドのようなものです。
public<T> List<T> extractData(String sql, Class<T> type){
//1)Do everything that is necessary to retrieve a ResultSet by the sql String.
//2)Then, for each row in the ResultSet
//2.1)Create a new instance of object of type T.
//2.2)Automatically matches the field name from the query
// with the field name of the specified class.
//2.3) add the object to the list to be returned.
//3) return the list of results of type T.
}
実際には、可能であれば、ステップ 2.2 をどのように実装できますか?
私はこのアプローチを PHP フレームワークに使用しているので、これは可能だと思います。