Java 根据表结构在运行时动态创建CRUD表单
我被困在一个问题上,我一直在谷歌搜索,阅读了不少资源,现在感觉到了方向 这是我的问题。 我正在开发一个类似于CRUD应用程序的应用程序,用于MySQL数据库,具有可变的表和结构,我不能有固定数量的表和结构 我在为变量表结构创建表单方面没有方向性。我想要实现的是,当用户从组合框中选择表名时,在检索特定表的表结构后,应该创建相关字段的数量 迄今取得的成就: -我已经能够获取表的结构/模式、数据类型和数据。 -可以编写查询来创建、更新、删除相同的内容 无法在以下方面取得成功: -我想创建JTextField,该JTextField具有与表中关联的列名相关的唯一对象名JTextField。 -列名是字符串类型,如何将它们转换为JTextField的对象 比如说Java 根据表结构在运行时动态创建CRUD表单,java,mysql,swing,Java,Mysql,Swing,我被困在一个问题上,我一直在谷歌搜索,阅读了不少资源,现在感觉到了方向 这是我的问题。 我正在开发一个类似于CRUD应用程序的应用程序,用于MySQL数据库,具有可变的表和结构,我不能有固定数量的表和结构 我在为变量表结构创建表单方面没有方向性。我想要实现的是,当用户从组合框中选择表名时,在检索特定表的表结构后,应该创建相关字段的数量 迄今取得的成就: -我已经能够获取表的结构/模式、数据类型和数据。 -可以编写查询来创建、更新、删除相同的内容 无法在以下方面取得成功: -我想创建JTextFi
String f1 = "fieldname_1"; // In reality these string values will be fetched from database resultset containing column names as identifier.
String f2 = "fieldname_2"; // In reality these string values will be fetched from database resultset containing column names as identifier.
JTextField f1 = new JTextField ();
or
String[] f = {"fieldname_1", "fieldname_2"};
JTextField f[0] = new JTextField ();
但它会给出错误,如f1已定义
注意:我希望输入字段名是唯一的,以便在输入后更容易访问这些数据
欢迎对问题进行更正,如果我处理问题的方法是错误的,请给出一个简单的想法/方法,以朝着正确的方向进行
关于您不能基于列名创建唯一的变量名 相反,您可以创建一个
HashMap
,将列名映射到表单中使用的文本字段:
HashMap<String, JTextField> textFields = new HashMap<String, JTextField>();
当然,您需要修改以获得想要使用的正确布局
然后,当您想要访问给定列的文本字段时,可以使用:
JTextField textField = textFields.get(columnName);
我想创建JTextField,该JTextField具有与表中关联的列名相关的唯一对象名
==或
JTextField textField = textFields.get(columnName);