如何使用JDBC检测ENUM字段的内容?

时间:2011-03-28 03:40:50

标签: java jdbc java-ee

我正在为我的CRUD java web数据库应用程序创建代码生成器。在制作Form页面时,我希望能够将ENUM字段数据类型呈现在组合框中。所以,在MySQL脚本中定义了这个:

`Employment Status` enum('CPNS','PNS') COLLATE latin1_general_ci NOT NULL,

我想将Employment Status作为组合框(使用<SELEC/> html输入类型),CPNSPNS作为其内容。

如何使用JDBC枚举数据库中该字段的内容? 非常感谢!

PS:有人问我,为什么要创建自己的代码生成器???好吧,我认为创建这样的东西会非常有趣,并将它添加到我们在Java Web Universe中广泛选择的替代方案中。:)

2 个答案:

答案 0 :(得分:1)

 DatabaseMetaData meta = conn.getMetaData();
 rsColumns = meta.getColumns(null, "%", "", "%");
/*getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)*/

 while (rsColumns.next()) 
{
      String columnType = rsColumns.getString("TYPE_NAME");
      String columnName = rsColumns.getString("COLUMN_NAME");
}

我认为这可以帮助你。

答案 1 :(得分:1)

我刚收到此链接:Re: JDBC and ENUM field types,我已使用show columns from table_x where field='employment status'进行测试。它显示了枚举内容。但是我还是要解析它......