首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库映射库

数据库映射库
EN

Stack Overflow用户
提问于 2012-10-04 04:23:14
回答 2查看 454关注 0票数 0

我使用Jackson将JSON数据(从互联网服务器检索)映射到应用程序对象(例如Artist、Clip、Playlist)。大多数情况下,数据是静态的,因此我不需要过多地加载它-所以我想将它存储在数据库中。我需要一个类似于杰克逊映射器,它将解析数据库输出,并为我构建对象(例如艺术家,剪辑,播放列表)。有吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-04 04:42:14

您正在寻找的是一个ORM (对象关系映射)库。在this post中有一个很好的关于对象关系管理解决方案的讨论。

票数 1
EN

Stack Overflow用户

发布于 2012-10-04 05:00:27

解决这个问题的一种方法是使用下面的解决方案。

您可以使用对象关系映射技术(例如Hibernate、TopLink)将数据库表映射到Java对象。为了将Java对象解析为JSON对象,您可以使用JAXB注释。JaxB注释类和编组示例如下所示。

JaxB注释Java示例

代码语言:javascript
复制
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class UserJaxB {

private String name;
private String id;

public UserJaxB() {
}

@XmlElement(name = "id")
public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

@XmlElement(name = "name")
public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
}

封送处理示例

代码语言:javascript
复制
import java.io.*;
import javax.xml.bind.*;
import javax.xml.stream.XMLStreamWriter;
import org.codehaus.jettison.mapped.*;

public class MarshalDemo {

public static void main(String[] args) throws JAXBException {
    JAXBContext jc = JAXBContext.newInstance(UserJaxB.class);
    Unmarshaller unmarshaller = jc.createUnmarshaller();
    UserJaxB userJaxB = new UserJaxB();
    userJaxB.setId("123");
    userJaxB.setName("ravi");

    Configuration config = new Configuration();
    MappedNamespaceConvention con = new MappedNamespaceConvention(config);
    Writer writer = new OutputStreamWriter(System.out);
    XMLStreamWriter xmlStreamWriter = new MappedXMLStreamWriter(con, writer);

    Marshaller marshaller = jc.createMarshaller();
    marshaller.marshal(userJaxB, xmlStreamWriter);
}

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12716293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档