`
cargoj
  • 浏览: 59186 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

【转】JAXB 序列化XML时对java.sql.Data的额外处理

 
阅读更多

在Webservice项目中,对一个普通POJO定义需要进行序列化处理,以便给其他客户端使用。在Java端用Date类型时,往往使用java.sql.Date,这在进行XSD生成时报错

 

 

error: java.sql.Date does not have a no-arg default constructor

 

 

这说明JAXB无法正确的序列化java.sql.Date类型,常见的处理方法是改数据类型,改成java.util.Date。本文提供另外一种解决方式,那就是使用XML的Annotation,添加额外的Adapter来转换Date类型。

在需要使用java.sql.Date类型的那个方法上方添加@XmlJavaTypeAdapter,参数为Adapter实现类。

 

@XmlJavaTypeAdapter(SQLDateAdapter.class)
public Date getSomeSqlDate() {
    return someSqlDate;
}

 

 改Adapter实现类继承自XmlAdapter

 

import java.util.Date;
 
import javax.xml.bind.annotation.adapters.XmlAdapter;
 
public class SQLDateAdapter extends XmlAdapter<Date, java.sql.Date> {
 
    @Override
    public Date marshal(java.sql.Date v) throws Exception {
        return new Date(v.getTime());
    }
 
    @Override
    public java.sql.Date unmarshal(Date v) throws Exception {
        return new java.sql.Date(v.getTime());
    }
 
}

 原帖地址:http://tangiding.com/archives/tag/webservice

 

 

分享到:
评论

相关推荐

    JAVA_API1.6文档(中文)

    javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...

    java api最新7.0

    javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一...

    JavaAPI1.6中文chm文档 part1

    javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...

    Java 1.6 API 中文 New

    javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一...

    [Java参考文档].JDK_API 1.6

    javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供一...

    JavaAPI中文chm文档 part2

    javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...

    [Java参考文档]

    javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...

    JDK_1_6 API

    javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现中必须使用的标准类和接口。 javax.swing 提供...

    java原生态xml

    Java原生态XML处理是Java开发中的一项基础技能,主要用于数据的序列化和交换。XML(eXtensible Markup Language)是一种可扩展标记语言,广泛应用于数据存储、配置文件以及网络数据传输等领域。在Java中,我们可以...

    spring-framework-3.0.2.RELEASE-dependencies.zip

    9. **Sun JAXB (com.sun.xml)**:Sun公司提供的JAXB实现,与javax.xml.stream一起,处理XML序列化和反序列化。 10. **Eclipse Persistence (org.eclipse.persistence)**:EclipseLink是Java EE中的JPA实现之一,...

    该文件是一种基于JavaWeb的xml用户管理

    通过JAXB,可以自动生成Java对象的XML映射,简化了数据的序列化和反序列化过程,从而高效地管理和操作用户数据。 4. **Servlet与JSP**:在JavaWeb开发中,Servlet用于处理HTTP请求,而JSP(JavaServer Pages)则...

    元数建模的Java功能部分.zip

    2. Eclipse EMF(Eclipse Modeling Framework):这是一个开源的模型驱动开发框架,它提供了元模型的概念,可以帮助开发者创建、操作和序列化复杂的模型。EMF基于Java,支持元数建模的创建、导入、导出以及可视化...

    jar大全

    - 在Java中,处理XML常用的库有JAXB(Java Architecture for XML Binding)、XStream、 JiBX 等,它们提供了序列化和反序列化XML的能力。 以上这些jar文件的集合,涵盖了Java开发中的多个重要领域,对于开发人员来...

    java程序员的标准

    - **Serialization**:支持对象的序列化和反序列化机制,便于对象的持久化和网络传输。 - **Networking**:提供了TCP/IP网络编程的支持,如Socket类。 - **Multithreading**:支持多线程编程,如Thread类和...

    jeefuseMDA用户开发手册1

    JSON-Jackson则用于JSON序列化和反序列化,便于前后端数据交换。 9. 搜索功能: Lucene和Solr都是基于Apache的全文搜索引擎。Lucene是核心库,提供了索引和搜索的基本功能;Solr在其基础上提供了更高级的特性,如...

    Data_Converter

    例如,它可能包含对Java对象到JSON的序列化,通过使用Jackson或Gson等流行的库;对XML文档的解析和生成,可能使用了JAXB或DOM API;甚至可能涉及大数据处理,如Hadoop或Spark框架下的数据转换。 在Data_Converter-...

    DMAA0914_Group3_Tema_Persistens

    例如,序列化可以将Java对象转化为字节流并写入文件,然后在需要时反序列化。 7. **XML/JSON存储**:XML和JSON格式常用于存储和交换数据,Java有对应的解析库如JAXB(用于XML)和Jackson(用于JSON),可以帮助将...

Global site tag (gtag.js) - Google Analytics