【问题标题】:Mapping database column names to Java object variables将数据库列名映射到 Java 对象变量
【发布时间】:2012-07-30 03:35:55
【问题描述】:

我正在寻找将数据库的列名映射到 Java 对象的变量的框架或解决方案。 假设我有一个 xml 文件,其中包含元素“docid”及其值。数据库将包含一个表,其中有一列称为“ducumentID”。 我想比较这两个值,所以xml文件中“docid”标签内的一个值和“docid”列的数据条目。因为在这个例子中它只是我必须比较的一件事,所以手动进行比较很容易。但后来我想用动态的值计数来做到这一点。 是否有一些映射框架或解决方案,我只能说:这个 xml 值是该数据库列的适当值?

【问题讨论】:

  • 你在找 - hibernate.org
  • Hibernate 拥有您需要的所有工具。

标签: java xml database mapping


【解决方案1】:

Hibernate 是流行的ORM,它实现了JPA

Java 的其他 ORM:

【讨论】:

  • 感谢您的回复。我已经使用了 MyBatis,但对于这个应用程序它没有用。我将更详细地解释它:假设我有一个带有 3 个变量的 JavaBean:“docID”、“date”和“title”。在数据库中,我有一个包含适当列但名称不同的表:让我们想象一下这三个:“documentID”、“dateWhatever”和“doctitel”。每个变量的值(数据库和 xml 内容应该是相同的......这应该由我的应用程序来证明) 使用 MyBatis 我可以设置 Mapper.xml 我将数据库列名称映射到对象名称。没关系,但是..
  • 当我使用 MyBatis 对数据库进行选择语句时,我得到了一个结果集。 (我可以为每个 culumn 做一个插入语句,但这会非常无效)所以当我的结果集与每个数据库列的值......我如何比较它们? MyBatis 现在可以在数据库中查找它的位置,但是当我返回结果集时,我不知道如何比较这些值。
  • 例如我必须比较“docID”是否等于“DocumentID”....但我只有数据库的整个结果集,我不知道哪些列名映射到适当的变量名我的JavaBean。 (好的,我现在知道了,但是如果我有 1000 个变量,就不可能完全知道它......因此我需要另一个映射文件或类似的东西)我希望我能解释清楚
  • 你不需要手动比较db列名和java对象属性。这就是 ORM 工具的作用。例如在休眠中,您可以在具有 db 定义的列上添加注释:@Column(name = "documentID") long docId
【解决方案2】:

您正在寻找 ORM 框架。

这里是 ORM 框架的列表:Wiki link for ORM

Hibernate 是开源和广泛使用的框架。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 2017-07-11
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    相关资源
    最近更新 更多