2016-11-18 97 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); 
相关问题