2016-11-18 9 views
-1

渡されるBean型のリストを私に返すすべてのJava Beanの汎用として以下の関数を書いています。HOwを汎用形式に変換する

public List<_ItemCreditQuality> getCrediQuality(String type,String def) throws SQLException{ 

     sql = ""; 

     stmt = con.createStatement(); 

     rs = stmt.executeQuery(sql); 

     QueryRunner run = new QueryRunner(); 
     ResultSetHandler<List<_ItemCreditQuality>> h = new BeanListHandler<_ItemCreditQuality>(_ItemCreditQuality.class); 
     creditQualityList = run.query(con, sql, h); 

     return creditQualityList; 
    } 

助けてください。

+2

はあまり見ることができませんこのコードの良い来る 'sql =" "; rs = stmt.executeQuery(sql); ' –

+0

はそこに書かれているものではありません。 SQLは後で追加されます。 – yatinbc

+0

申し訳ありません、フレーズ_ "返されたタイプのビーン名のリスト" _は意味をなさない。 –

答えて

1

いくつかの仮定を行い、ここでの例です:

public <T> List<T> getCreditQuality(Class<T> beanClass) throws SQLException { 
    String sql = "SELECT * FROM " + beanClass.getSimpleName(); 
    try (
     Statement stmt = this.con.createStatement(); 
     ResultSet rs = stmt.executeQuery(sql); 
    ) { 
     QueryRunner run = new QueryRunner(); 
     ResultSetHandler<List<T>> h = new BeanListHandler<T>(beanClass); 
     List<T> creditQualityList = run.query(this.con, sql, h); 
     return creditQualityList; 
    } 
} 

Tは、_ItemCreditQuality Beanクラス可能性があり、あなたはこのようにそれを呼びたい:

List<_ItemCreditQuality> list = getCreditQuality(_ItemCreditQuality.class); 
関連する問題