背景:在webservice的开发过程中涉及到这一知识点,又必要来学习一下。

1 根据编写的schema来生成对应的java实体

1.1 实战

xcj命令有schema文件生成Java实体类

1、使用方法
   xjc fileName.xsd -d 生成java实体类的目录 -p 生成的包名

2. eg: xjc catalog.xsd -d d: \test -p com.xjc.bean

xjc szfs.tws.biz.info.billchange.xsd -d E:\Work\直连接口改造\文档\接口\直连接口schema\info -p szfs.tws.biz.entity.info.billchange

xjc szfs.tws.biz.info.billchange.xsd:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="szfs.tws.info.billchange"
targetNamespace="szfs.tws.info.billchange" elementFormDefault="qualified">
<xs:element name="BillChange" type="BillChange" />
<xs:complexType name="BillChange">
<xs:sequence>
<xs:element name="subdate" type="Exact8Text"/>
<xs:element name="outid" type="OutId"/>
<xs:element name="chgtype" type="chgtypeEnum" />
<xs:element name="corpno" type="OrgCode" />
<xs:element name="billperiod" type="Exact6NumericText" minOccurs="0"/> <xs:element name="billno" type="Max32Text" />
<xs:element name="feeitem" type="Exact5Text" />
<xs:element name="currency" type="Exact3Text" />
<xs:element name="billmoney" type="Max13MoneyGt0Text" minOccurs="0"/>
<xs:element name="feemoney" type="Max13MoneyGe0Text" minOccurs="0"/> <xs:element name="effectdate" type="Exact8Text" />
<xs:element name="duedate" type="Exact8Text" />
<xs:element name="custno" type="Max32Text" minOccurs="0"/>
<xs:element name="custname" type="Max60Text" minOccurs="0"/>
<xs:element name="tel" type="Max30Text" minOccurs="0"/> <xs:element name="memo" type="Max127Text" minOccurs="0"/>
</xs:sequence>
</xs:complexType> <xs:simpleType name="OutId">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="64"/>
<xs:pattern value="[a-zA-Z0-9_-]{1,64}"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Exact6NumericText">
<xs:restriction base="xs:string">
<xs:minLength value="6"/>
<xs:maxLength value="6"/>
<xs:pattern value="[0-9]{1,6}"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="OrgCode">
<xs:restriction base="xs:string">
<xs:minLength value="8" />
<xs:maxLength value="14"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Exact3Text">
<xs:restriction base="xs:string">
<xs:minLength value="3"/>
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Exact5Text">
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Exact8Text">
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Max13MoneyGe0Text">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="2" />
<xs:totalDigits value="15" />
<xs:minInclusive value="0" />
<xs:pattern value="[0-9]{1,13}(\.[0-9]{1,2})?"></xs:pattern>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Max13MoneyGt0Text">
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="2" />
<xs:totalDigits value="15" />
<xs:minExclusive value="0" />
<xs:pattern value="[0-9]{1,13}(\.[0-9]{1,2})?"></xs:pattern>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="chgtypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Max8NumericText">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="8"/>
<xs:pattern value="[0-9]{1,8}"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Max6NumericText">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="6"/>
<xs:pattern value="[0-9]{1,6}"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Max30Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="30"/>
<xs:pattern value="[0-9a-zA-Z_-]{1,30}"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Max32Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="32"/>
<xs:pattern value="[a-zA-Z0-9.,()/=&apos;+?!&quot;%&amp;*&lt;&gt;;@# -_]{1,32}"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Max60Text">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Max64Text">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleType> <xs:simpleType name="Max127Text">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="127"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

BillChange.java:

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2017.07.10 at 10:35:20 AM CST
// package szfs.tws.biz.entity.info.billchange; import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType; /**
* <p>Java class for BillChange complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="BillChange">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="subdate" type="{szfs.tws.info.billchange}Exact8Text"/>
* &lt;element name="outid" type="{szfs.tws.info.billchange}OutId"/>
* &lt;element name="chgtype" type="{szfs.tws.info.billchange}chgtypeEnum"/>
* &lt;element name="corpno" type="{szfs.tws.info.billchange}OrgCode"/>
* &lt;element name="billperiod" type="{szfs.tws.info.billchange}Exact6NumericText" minOccurs="0"/>
* &lt;element name="billno" type="{szfs.tws.info.billchange}Max32Text"/>
* &lt;element name="feeitem" type="{szfs.tws.info.billchange}Exact5Text"/>
* &lt;element name="currency" type="{szfs.tws.info.billchange}Exact3Text"/>
* &lt;element name="billmoney" type="{szfs.tws.info.billchange}Max13MoneyGt0Text" minOccurs="0"/>
* &lt;element name="feemoney" type="{szfs.tws.info.billchange}Max13MoneyGe0Text" minOccurs="0"/>
* &lt;element name="effectdate" type="{szfs.tws.info.billchange}Exact8Text"/>
* &lt;element name="duedate" type="{szfs.tws.info.billchange}Exact8Text"/>
* &lt;element name="custno" type="{szfs.tws.info.billchange}Max32Text" minOccurs="0"/>
* &lt;element name="custname" type="{szfs.tws.info.billchange}Max60Text" minOccurs="0"/>
* &lt;element name="tel" type="{szfs.tws.info.billchange}Max30Text" minOccurs="0"/>
* &lt;element name="memo" type="{szfs.tws.info.billchange}Max127Text" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BillChange", propOrder = {
"subdate",
"outid",
"chgtype",
"corpno",
"billperiod",
"billno",
"feeitem",
"currency",
"billmoney",
"feemoney",
"effectdate",
"duedate",
"custno",
"custname",
"tel",
"memo"
})
public class BillChange { @XmlElement(required = true)
protected String subdate;
@XmlElement(required = true)
protected String outid;
@XmlElement(required = true)
protected String chgtype;
@XmlElement(required = true)
protected String corpno;
protected String billperiod;
@XmlElement(required = true)
protected String billno;
@XmlElement(required = true)
protected String feeitem;
@XmlElement(required = true)
protected String currency;
protected BigDecimal billmoney;
protected BigDecimal feemoney;
@XmlElement(required = true)
protected String effectdate;
@XmlElement(required = true)
protected String duedate;
protected String custno;
protected String custname;
protected String tel;
protected String memo; //省略get/set

1.2 扩展

首先确保计算机已经安装了jdk,且在环境变量中配置了jdk路径。

我的计算机安装的是1.7,就以这个为例吧!

1.进入dos窗口

1.指定某一个xsd文件生成指定名称的Java

进入xsd文件所在目录,我的在D盘,所以我 D:进入D盘

然后开始执行下面语法(xxxxx.xsd 为要生成的xsd文件 xxxxx为目录)

xjc xxxxx.xsd -p xxxxx.bean;

2.将所有的xsd文件生成,并指定生成目录

xjc *.xsd -p com.cpp.interconnection.bean

然后完毕后,目录和类已经全部生成,大功搞成。

1

(转) 使用jdk的xjc命令由schema文件生成相应的实体类的更多相关文章

  1. 使用jdk的xjc命令由schema文件生成相应的实体类

    xjc D:\operate-process.xsd -d D:\workspace\wmsc\src\main\java -p com.yd.wmsc.util operate-process.xs ...

  2. 用vs2012的命令利用xsd文件生成对应的C#类,把xml的string类型映射到生成的类

    输入命令: xsd d:\TDDOWNLOAD\atom-author-link.xsd /c /language:C# /outputdir:d:\ 含义: 将d:\TDDOWNLOAD\atom- ...

  3. JDK Tools - xjc: 将 XML Schema 编译成 Java 类

    xjc 是 JAXB 将 xsd 生成 Java 类的工具. 命令格式 xjc [ options ] schema file/URL/dir/jar ... [-b bindinfo ] ... 命 ...

  4. NetCore使用使用Scaffold-DbContext命令生成数据库表实体类

    一.为了模拟项目,本处创建了一个NetCore的Web项目.打算在Models文件夹下生成数据库表的实体类. 二.在程序包管理控制台,输入“Scaffold-DbContext "Serve ...

  5. 多个JDK使用批处理命令切换JDK版本

    本篇博客参考的链接 http://blog.csdn.net/hu199055/article/details/70145389 https://www.cnblogs.com/xdp-gacl/p/ ...

  6. JVM基础系列第15讲:JDK性能监控命令

    查看虚拟机进程:jps 命令 jps 命令可以列出所有的 Java 进程.如果 jps 不加任何参数,可以列出 Java 程序的进程 ID 以及 Main 函数短名称,如下所示. $ jps 6540 ...

  7. 【Linux】【JDK】常用命令使用集和裸机配置JDK步骤。

    使用Zstack创建完成后的linux服务器,使用SSH登录后,就是一下图,可以查看当前路径下的所有文件. 1.常用的命令: 列出当前文件夹下内容:ll 查看目录中的文件 :ls 创建文件夹:mkdi ...

  8. WebService之JDK中wsimport命令

    1.编写WebService类,使用@WebService注解 package test; import javax.jws.WebService; @WebService public class ...

  9. JDK性能监控命令

    阅读原文 查看虚拟机进程:jps 命令 jps 命令可以列出所有的 Java 进程.如果 jps 不加任何参数,可以列出 Java 程序的进程 ID 以及 Main 函数短名称,如下所示. $ jps ...

随机推荐

  1. Akka(7): FSM:通过状态变化来转换运算行为

    在上篇讨论里我们提到了become/unbecome.由于它们本质上是堆栈操作,所以只能在较少的状态切换下才能保证堆栈操作的协调及维持程序的清晰逻辑.对于比较复杂的程序流程,Akka提供了FSM:一种 ...

  2. JavaScript设计模式_05_发布订阅模式

    发布-订阅模式,定义了对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都将得到通知.发布-订阅模式是使用比较广泛的一种模式,尤其是在异步编程中. /* * pre:发布-订阅 ...

  3. Nmap脚本文件分析(AMQP协议为例)

    Nmap脚本文件分析(AMQP协议为例) 一.介绍 上两篇文章 Nmap脚本引擎原理   编写自己的Nmap(NSE)脚本,分析了Nmap脚本引擎的执行过程,以及脚本文件的编写,这篇文章将以解析AMQ ...

  4. SQL Server2012数据库的备份和还原

    一.数据库的备份: 1.选择要备份的数据库“accountInfo”,点击鼠标右键 → 任务 → 备份 2.在打开的“备份数据库 —accountInfo”对话框中,先点击删除,然后点击“添加” 3. ...

  5. centos文件权限详解

    假设回显信息为  ①-②rws③r-x④r-x ⑤1 ⑥root ⑦root ⑧430540 ⑨Dec 20 18:27 ⑩/usr/sbin/passwd ,现在逐一分析其内容. ①. 首字符-,表 ...

  6. canvas学习总结三:绘制虚线

    上一章节我们说到,线性路径的绘制,主要利用movoTo(),lineTo()等方法,当然 Canvas 2D API 也提供了虚线的绘制方法,CanvasRenderingContext2D.setL ...

  7. redmine测试使用小结

    在尽量不影响当前项目活动的情况下,可以对测试过程作部分改进,能够支持建立项目的BUG管理过程,简述如下: 1.配置角色和权限->新建角色:测试人员 (1)主要配置问题跟踪权限 (2)提前规划好再 ...

  8. Oracle数据库web维护客户端管理工具软件

    TreeSoft数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL 等数据库进行维护管理操作. 功能 ...

  9. MHD simulation with python

    这里为MHD(磁流体力学)模拟做一些准备,可能现在学习物理的人从某种程度上也得变成程序猿吧.MHD模拟面临的问题是求解一个三维的偏微分方程组,其中涉及的流体元格点非常多.所以希望先从简单的一维模型出发 ...

  10. ubuntu 16.04.2 源码安装gitlab并且利用runner持续集成

    参考原档:https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md#using-https 本章只 ...