Java 瓦丁

Java 瓦丁,java,mysql,vaadin,Java,Mysql,Vaadin,我不明白如何使用Vaadin获取数据库结果集。 首先,我要: JDBCConnectionPool pool=null; try{ pool = new SimpleJDBCConnectionPool(dbClass, dbUrl, "root", "toor"); }catch(SQLException e){ e.printStackTrace(); } FreeformQuery query = new FreeformQuery(query_s, pool, "id"

我不明白如何使用Vaadin获取数据库结果集。 首先,我要:

JDBCConnectionPool pool=null;
try{
    pool = new SimpleJDBCConnectionPool(dbClass, dbUrl, "root", "toor");
}catch(SQLException e){
    e.printStackTrace();
}

FreeformQuery query = new FreeformQuery(query_s, pool, "id");
try {
    SQLContainer container = new SQLContainer(query);
} catch (SQLException e) {
    e.printStackTrace();
}
现在我该怎么办?(
query\s
是一个简单的查询字符串,如SELECT*FROM users)
我正在尝试使用Freeformstatementdelegate,但我不知道如何使用它。对于上面这样的代码,它是最佳选择吗?

如果您只想从数据库获得只读结果,则不需要使用
freeformstatementdegate

您可以通过以下方式将数据设置为表:

  Table table = new Table();
  table.setContainerDataSource(sqlContainer);
或将结果设置为列表:

  List<String> list = new ArrayList<String>();
  for (Object ob : this.sqlContainer.getItemIds())
  {
      list.add(sqlContainer.getItem(ob).getItemProperty(columnName).getValue());
  }
List List=new ArrayList();
对于(对象ob:this.sqlContainer.getItemId())
{
添加(sqlContainer.getItem(ob.getItemProperty(columnName.getValue());
}
但是,如果您还需要筛选、排序、删除和延迟加载功能,则必须使用
FreeformStatementDelegate

1) 创建自定义类
2) 实现
freeformstatementdegate
接口和重写方法

3) set
FreeformQuery.setDelegate(新的CustomClass)
…现在我该怎么办?
你想怎么办?是否要以某种方式显示结果?你有错误吗?