java - 数据库访问最佳实践 - 联系人列表

标签 java database swing jtable jlist

我很长一段时间以来一直想知道,在为这个问题创建几个愚蠢的解决方案时,应该如何正确完成以下操作:

数据表: 身份证 |名字 |姓氏 |地址 |数据...

我想在列表框中显示所有名字+姓氏,并在选择一项后,我想检索相应数据集的其余部分并显示在一些文本框中。

所以我基本上是这样做的:

1) 查询:SELECT ID、givenname、lastname FROM DataTable;

2) 创建“联系人对象”的 ArrayList(只是一个与 DataTable 具有相同成员的类),我迭代结果集,并创建其中几个具有 ID、给定名称和姓氏的对象。

!3) 我希望列表框显示给定名称+“”+姓氏,但是在选择“John Doe”时,我希望程序知道这个“john Doe”是数组列表的哪个元素(如果有更多)比其中之一),从对象中收回 ID 并收回他的地址和“数据”

我经常做的事情是“列表框中的第三个约翰·多伊被选中,让我们在数组列表中查找第三个约翰·多伊,希望上帝这是正确的” 这对我来说似乎非常没有必要。

Java + Swing 中有什么可用的解决方案

我希望我能以某种方式弄清楚我需要什么^^

问候 比尔门

最佳答案

要显示对象,Swing 组件将使用对象放置在其中的 toString() 方法。一种常见的方法是创建一个包含名称、ID 等的 Data 类,实现 toString() 来显示您想要的内容,然后将这些对象的列表放入您的 JList 中。然后在选择时,获取所选项目,将其转换为数据类,然后调用 getID()。

关于java - 数据库访问最佳实践 - 联系人列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573972/

相关文章:

java - Android: Activity 等待 boolean 条件

java - Hibernate用null更新子实体并且不删除,如何强制它?

java - 对于 XML 数据 Mongodb 和 orientdb 哪一个更好

mysql - 具有大量不同表的多对多关系

Java JTextArea、JLabel 和其他组件 : How to set Location

java - 为什么我的 for 循环只返回 JTable 中的第一个值?

java - 使用 StreamTokenizer 获取下一个标记和剩余的字符串

java - ArrayList 声明和处理

java - 使用 Java 处理来自 postgreSQL 的大量数据

java - JTable:选择一行时从数据库中获取值