通用数据库代码表编辑器

时间:2010-01-28 17:43:45

标签: sql jsp jdeveloper oracle-adf

在哪里可以找到在任何表上创建,读取,更新和删除的通用编辑器(使用Oracle的ADF的JSP)?

使用示例:

  1. 用户选择表格的名称。
  2. 用户然后添加新行,或更新/删除现有行。
  3. 用户保存更改。
  4. 外键显示为下拉列表,其他所有键显示为af:inputText。 (这种管理功能的用户友好性并不重要。)这将允许任意数量的表的代码表数据更新,而无需每次都编写新的CRUD JSP。

    更新#1

    Oracle ADF 10g(不是11g),它阻止我们使用ADF Faces RC。

    更新#2

    Shay Shmeltzer(和其他人)指导我使用这些资源:

3 个答案:

答案 0 :(得分:0)

您正在使用Oracle的ADF内容。 ADF Faces functionality你不想要你吗?

答案 1 :(得分:0)

我在这些行上构建了一个程序(在Oracle Forms中)。它们可以非常快速地变得复杂(例如,您是否将日期显示为日期或时间,使用MM或Month格式,更不用说BLOB和CLOB等了。)下拉列表听起来很棒,直到您在外键上尝试使用它5,000行(或40,000+邮政编码)。

一旦它为100个表“活动”,你就会尝试让它在101st工作,它有一个你需要多行的大型varchar,或者有一个代理键列,对于没有用户的用户来说没有意义加入父表。所以你为此改变它,并且必须重新测试以前工作的100个屏幕。

简而言之,制作表格的特定屏幕通常比制作广泛使用的实用通用屏幕容易得多。然后你只有一个列出表名和相关维护屏幕的参考表,以及一旦用户选择表就调用屏幕的应用程序。

答案 2 :(得分:0)

如果您打算自己创建一个,那么我建议您利用JDBC API中的MetaData类。例如,您可以使用Connection#getMetaData()来获取DatabaseMetaData实例,该实例提供有关已连接数据库的所有目录/方案/表/过程的信息。然后是ResultSet#getMetaData(),它返回一个ResultSetMetaData实例,该实例提供有关列的特定信息。这与动态填充的UIData组件(例如h:dataTable)相结合,必须为您提供更多帮助。