jAXB 학습 (2) 유형 바 인 딩

위 절 에 서 는 JAXB 에 어떻게 들 어 가 는 지, 바 인 딩 유형 을 어떻게 사용자 정의 하 는 지 간단하게 소개 했다.
 
 
 
JAXB 는 기본 형식 과 일치 합 니 다. 다음은 일치 표 입 니 다.
 
 
XML Schema Type           Java Data Type
  xsd:string java.lang.String xsd:integer java.math.BigInteger xsd:int int xsd.long long xsd:short short xsd:decimal java.math.BigDecimal xsd:float float xsd:double double xsd:boolean boolean xsd:byte byte xsd:QName javax.xml.namespace.QName xsd:dateTime javax.xml.datatype.XMLGregorianCalendar xsd:base64Binary byte[] xsd:hexBinary byte[] xsd:unsignedInt long xsd:unsignedShort int xsd:unsignedByte short xsd:time javax.xml.datatype.XMLGregorianCalendar xsd:date javax.xml.datatype.XMLGregorianCalendar xsd:g javax.xml.datatype.XMLGregorianCalendar xsd:anySimpleType java.lang.Object xsd:anySimpleType java.lang.String xsd:duration javax.xml.datatype.Duration xsd:NOTATION javax.xml.namespace.QName 
dateTime 에 대응 하 는 클래스 를 볼 수 있 습 니 다. "
  javax.xml.datatype.XMLGregorianCalendar", , java.util.Calendar。  , 。 JAXB , binding , dateTime "java.util.Calendar
<bindings xmlns="http://java.sun.com/xml/ns/jaxb" version="2.0"
     xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <globalBindings>
        <javaType name="java.util.Calendar" xmlType="xs:date"
         parseMethod="javax.xml.bind.DatatypeConverter.parseDate"
         printMethod="javax.xml.bind.DatatypeConverter.printDate" />
    </globalBindings>
</bindings>

  , :
<bindings xmlns="http://java.sun.com/xml/ns/jaxb"
 version="2.0"
 xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <globalBindings>
    <javaType name="java.util.Date" xmlType="xs:date"
      parseMethod="com.liulutu.jaxb.DateAadpter.parseDate"
      printMethod="com.liulutu.jaxb.DateAdapter.printDate"
    />
  </globalBindings>
</binding>

 
src 에서 com. liulutu. jaxb. DateAadpter 클래스 를 정의 하고 printDate 와 parseDate 방법 을 제공 해 야 합 니 다. 다음 과 같 습 니 다: package com.liulutu.jaxb; 
<bindings xmlns="http://java.sun.com/xml/ns/jaxb"
 version="2.0"
 xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <globalBindings>
    <javaType name="java.util.Date" xmlType="xs:date"
      parseMethod="com.liulutu.jaxb.DateAadpter.parseDate"
      printMethod="com.liulutu.jaxb.DateAdapter.printDate"
    />
  </globalBindings>
</binding>

 
 
그리고 명령 을 실행 할 때 - b 매개 변 수 를 추가 하여 binding 파일 을 지정 합 니 다.
xjc.bat students.xsd -d src -p com.liulutu.student.model -b bindings.xml
 
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기