0

我不明白如何使用 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 但我不知道如何使用它。它是上述代码的最佳选择吗?

4

1 回答 1

0

如果您只想读取数据库中的只读结果,则无需使用FreeformStatementDelegate.

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

  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());
  }

但是如果你还想要过滤、排序、删除和延迟加载功能,你必须使用FreeformStatementDelegate.

1)创建自定义类;
2)实现FreeformStatementDelegate接口和覆盖方法;
3) 设置FreeformQuery.setDelegate(new CustomClass);

于 2013-10-10T09:51:23.840 回答