「javapo例子」java pom

博主:adminadmin 2023-03-19 11:23:08 396

今天给各位分享javapo例子的知识,其中也会对java pom进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 中的持久对象(po),业务对象(bo),表现层对象(vo)?

你说的是VBP模式

比如你上百度,打开首页后看到一个输入框和一个提交按钮,这2个属于表现层,你输入了一段文字,然后点击提交,这时向服务器发送了一个http请求,请求里面包含你这段文字,这段文字会被封装成po,业务对象拿着这个po请求数据库,返回你要的信息。

哎 不好意思 说不明白

java程序中使用xstream方法将实体类转成xml,实体类中有null值,生成的xml就去除了含有null值的节点!

XStream 用法详解 java 类与 XML 互换

现在 WEB数据交换的时代,传送XML目前是一个比较流行的方式,具有统一的规则约束,为实现后台接口提供了一个很方便的实现。

我编写了一个 接收XML并转换成所需要的Object类的 小例子,希望能够对做互联网数据传输、接口调用的朋友有所帮助。

首先要导入jar包xstream-1.4.3-sources.jar 和 xmlpull-1.1.3.1.jar 两个包;

其次是预备一个 XML 事例

[html] view plain copy

config

span style="white-space:pre" /spanclient type="8888" osversion="9999" version="123" oemtag="5555" area="areacode"/

span style="white-space:pre" /spanprotocol1.10/protocol

span style="white-space:pre" /spansign value="asdfasdf"/

span style="white-space:pre" /spanvientiance version="version"/

/config

其次 就是 按照 XML节点的顺序 从外 到内 编写 java PO类,此实例的目的是将上面的XML转换为 AllnewstateRQ 这个实体类,然后从里面打印出测试数据。

下面依次是 config节点 对应的 AllnewstateRQ类 ; client 节点 对应的 Client 类;sign 节点对应的 Sign类;vientiance 节点 对应的 Vientiance类。

[java] view plain copy

package com.wgq.test09_xml;

import com.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("config")

public class AllnewstateRQ {

//当节点下有独立属性的时候,需要创建一个独立的类用来保存节点内的属性

private Client client = new Client();

private Sign sign = new Sign();

private Vientiance vientiance = new Vientiance();

//当节点下没有属性,直接由StringValue的时候可直接创建String类型属性

private String protocol;

public Client getClient() {

return client;

}

public void setClient(Client client) {

this.client = client;

}

public Sign getSign() {

return sign;

}

public void setSign(Sign sign) {

this.sign = sign;

}

public Vientiance getVientiance() {

return vientiance;

}

public void setVientiance(Vientiance vientiance) {

this.vientiance = vientiance;

}

public String getProtocol() {

return protocol;

}

public void setProtocol(String protocol) {

this.protocol = protocol;

}

}

[java] view plain copy

package com.wgq.test09_xml;

import com.thoughtworks.xstream.annotations.XStreamAlias;

import com.thoughtworks.xstream.annotations.XStreamAsAttribute;

@XStreamAlias("client")

public class Client {

@XStreamAsAttribute //对属性值进行注解

private String type;//此时类中的属性名要和xml内的属性名相对应

@XStreamAsAttribute

private String osversion;

@XStreamAsAttribute

private String version;

@XStreamAsAttribute

private String oemtag;

@XStreamAsAttribute

private String area;

public String getType() {

return type;

}

public void setType(String type) {

this.type = type;

}

public String getOsversion() {

return osversion;

}

public void setOsversion(String osversion) {

this.osversion = osversion;

}

public String getVersion() {

return version;

}

public void setVersion(String version) {

this.version = version;

}

public String getOemtag() {

return oemtag;

}

public void setOemtag(String oemtag) {

this.oemtag = oemtag;

}

public String getArea() {

return area;

}

public void setArea(String area) {

this.area = area;

}

}

[java] view plain copy

package com.wgq.test09_xml;

import com.thoughtworks.xstream.annotations.XStreamAlias;

import com.thoughtworks.xstream.annotations.XStreamAsAttribute;

@XStreamAlias("sign") //此处要对应节点的名称

public class Sign {

@XStreamAsAttribute

private String value;//此处对应节点内属性名称

public String getValue() {

return value;

}

public void setValue(String value) {

this.value = value;

}

}

[java] view plain copy

package com.wgq.test09_xml;

import com.thoughtworks.xstream.annotations.XStreamAlias;

import com.thoughtworks.xstream.annotations.XStreamAsAttribute;

@XStreamAlias("vientiance")

public class Vientiance {

@XStreamAsAttribute

private String version;

public String getVersion() {

return version;

}

public void setVersion(String version) {

this.version = version;

}

}

测试main方法

[java] view plain copy

package com.wgq.test09_xml;

import com.thoughtworks.xstream.XStream;

import com.thoughtworks.xstream.io.xml.DomDriver;

public class TestStream {

public static void main(String[] args) {

String reqXml = getXml();

XStream xs = new XStream(new DomDriver());

xs.processAnnotations(new Class[]{AllnewstateRQ.class,Client.class,Sign.class,Vientiance.class});

Object obj = xs.fromXML(reqXml);

AllnewstateRQ allnewstateRQ = (AllnewstateRQ) obj;

System.out.println(allnewstateRQ.getProtocol());

System.out.println(allnewstateRQ.getClient().getArea());

System.out.println(reqXml);

}

static String getXml(){

StringBuilder str = new StringBuilder();

str.append("")

.append("config")

.append("client type=\"8888\" osversion=\"9999\" version=\"123\" oemtag=\"5555\" area=\"areacode\" /")

.append("protocol1.10/protocol")

.append("sign value=\"asdfasdf\" /")

.append("vientiance version=\"version\" /")

.append("/config")

;

return str.toString();

}

}

输出结果:

[java] view plain copy

1.10

areacode

configclient type="8888" osversion="9999" version="123" oemtag="5555" area="areacode" /protocol1.10/protocolsign value="asdfasdf" /vientiance version="version" //config

java项目中VO和DTO以及Entity,各自是在什么情况下应用的

你好,按照标准来说:

1、entity里的每一个字段,与数据库相对应,

2、dto里的每一个字段,是和你前台页面相对应,

3、VO,这是用来转换从entity到dto,或者从dto到entity的中间的东西。

举个例子:

你的html页面上有三个字段,name,pass,age

你的数据库表里,有两个字段,name,pass(注意没有age哦)

而你的dto里,就应该有下面三个(因为对应html页面上三个字段嘛)

private string name;

private string pass; 

private string age;

这个时候,你的entity里,就应该有两个(因为对应数据库表中的2个字段嘛)

private string name;

private string pass;

到了这里,好了,业务经理让你做这样一个业务“年龄大于20的才能存入数据库”

这个时候,你就要用到vo了

你要先从页面上拿到dto,然后判断dto中的age是不是大于20,如果大于20,就把dto中的

name和pass拿出来,放到vo中,然后在把vo中的name和pass原封不懂的给entity,然后根据

entity的值,在传入数据库,这就是他们三个的区别

PS,VO和entity里面的字段应该是一样的,vo只是entity到dto,或者dto到entity的中间过程,如果没有这个过程,你仍然可以做到增删改查,这个就根据具体公司来的,纯手打,望采纳

VO,PO,POJO的定义和区别(求教啊)

三个都是java实体对象,vo,跟po比较类似,po是persistent object,是在是orm框架中的entity,po的每个属性基本上都对应数据库表里面的某个字段,而vo(value object)有时可以跟po一样,有时并不对应。POJO(Plain Old Java Objects)是简单java对象,他并不继承任何类(继承Object),实现任何接口,只有属性跟get set方法。而po一般要实现序列化接口,有时也继承一些类。

在java中dto,bo,pojo,po是什么,简单说明

DTO (Data Transfer Object)数据传输对象:主要用于远程调用等需要大量传输对象的地方。

BO(business object) 业务对象:从业务模型的角度看,见UML元件领域模型中的领域对象.封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作.

POJO(plain ordinary java object) 简单无规则java对象

纯 的传统意义的java对象.就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法.我的理解就是最基本的Java Bean,只有属性字段及setter和getter方法!

PO(persistant object) 持久对象

在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.

javapo例子的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java pom、javapo例子的信息别忘了在本站进行查找喔。