我有一个配对的哈希图。其中的键是表中的列名现在我想将它们插入到表中,比如 users_table,我应该能够将键与列名匹配,如果两者相同,则将该值插入表中。
我正在做的是我必须用所有列编写preparedstatement,然后使用preparesatatement的setter方法将hashmap值作为参数传递。为此,我需要知道表格的所有列,这将是繁琐的工作,因为没有。列,此步骤将重复到表数。
告诉我这样做的任何想法,在此先感谢
首先,使用 aLinkedHashMap
来保持列的顺序。这将在迭代地图以分配列名和值时产生影响。
我不完全确定您在问什么,但您暗示的是所谓的对象关系映射 (ORM)。简而言之,这是一种将数据库表映射到普通旧 Java 对象 (POJO) 的方法。虽然还有很多事情要做。
如果您对将数据库表表示为对象感兴趣,您应该研究 Hibernate,它是一种流行的 Java ORM API。
否则,创建并保持一个跨数据库和 Java 项目统一的标准,你会没事的。
编辑:
如果我对您的问题有更多了解,那么您在了解列名时遇到问题?这是您必须知道的事情,不会有一种简单、动态或有效的方式来获取该信息。
设置该信息的一个示例是将列名存储在String
代表您的表的类的数组中。然后,您可以访问该数组并在保存到数据库时对其进行迭代。
最后,如果您想阅读一些内容,请查看我的答案(将嵌套的 Pojo 对象存储为数据库中的单个对象)。我深入探讨了如何管理数据库到 Java,反之亦然。