2016-11-18 26 views
-1

我寫了下面的函數,我想把它寫成通用的所有java bean,它將返回我傳遞的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

對不起,短語_「返回我傳遞的bean名稱類型列表」_沒有意義。 –

回答

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); 
相關問題