首先第一步是读入xml文件中的数据
package com.cn.tibco;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
public class ParseXml {
// private Marshaller marshaller;
private Unmarshaller unmarshaller;
public ParseXml() {
try {
JAXBContext context = JAXBContext.newInstance("com.staffware.frameworks.po");
// marshaller = context.createMarshaller();
unmarshaller = context.createUnmarshaller();
} catch (Exception e) {
e.printStackTrace();
}
}
public Object getXml(String filename){
FileReader fr = null;
Object o = new Object();
try {
fr = new FileReader(new File(filename));
o = unmarshaller.unmarshal(fr);
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return o;
}
第二步将读到的数据通过jpa持久化到数据库中
package com.cn.tibco;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import com.staffware.frameworks.po.ManagedEntity;
import com.staffware.frameworks.po.PrimaryKey;
public class DataInsert {
DataInsert(ParseXml px,Object object, String filename){
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("com.staffware.frameworks.po");
EntityManager em = entityManagerFactory.createEntityManager();
EntityTransaction userTransaction = em.getTransaction();
userTransaction.begin();
ParseXml parsexml = px;
int i = 0;
while(i<10000){
Object o = parsexml.getXml(filename);
object = o;
PrimaryKey s = ((ManagedEntity) object).getPrimaryKey();
s.setId(s.toString()+i);
((ManagedEntity) object).setPrimaryKey(s);
em.persist(object);
i++;
}
userTransaction.commit();
em.close();
entityManagerFactory.close();
System.out.println("success");
}
}
编写测试类
package com.cn.tibco;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
ParseXml px = new ParseXml();
// String file = "E:\\Tibco\\ipc113\\COM-integration\\Conductor-integration\\src\\data\\order_noful.xml";
String file1 = "E:\\Tibco\\ipc113\\COM-integration\\Conductor-integration\\src\\data\\plan.xml";
new DataInsert(px,new com.staffware.frameworks.po.ExecutionPlan(),file1);
}
}
附件中附带xml文件和jaxb所需的实体类文件夹
分享到:
相关推荐
- **JAXB与JPA**(Java Persistence API)结合,可以在数据库操作中方便地处理XML数据。 总结,JAXB是Java中处理XML的重要工具,它提供了高效的XML到Java对象的转换能力,简化了XML数据的处理,广泛应用于Web服务、...
在实际应用中,JAXB通常与其他Java EE技术如JavaServer Faces (JSF)、Java Persistence API (JPA)等结合使用,提供一套完整的数据管理解决方案。例如,当接收到HTTP请求时,服务器端可以使用JAXB将接收到的XML数据...
**JAXB与JPA** JAXB是Java平台的标准技术,它负责将XML文档与Java对象之间进行双向转换。XJC是JAXB的一部分,它是一个命令行工具,能够根据XML模式文件自动生成对应的Java类。而JPA则是Java EE中用于对象-关系映射...
JPA(Java Persistence API)是Java平台上的一个标准,它定义了持久化对象的接口和API,使得开发者可以方便地在Java应用程序中管理数据库数据。Hibernate是JPA的一个实现,它提供了丰富的功能来处理对象关系映射...
JAXB并不直接支持数据库操作,但它可以与ORM(Object-Relational Mapping)框架如JPA(Java Persistence API)或Hibernate配合使用。这些框架可以将数据库表映射为Java实体类,而JAXB则负责将这些实体类转化为XML...
JPA 类JPA 类是使用 NetBeans 8“数据库表中的实体”向导设置以下选项生成的: 生成的 NamedQuery 注释JAXB 注释关联获取:默认 (LAZY) 集合类型: java.util.List 使用列名作为关系底层数据库持久化单元配置为以 ...
`JPA-XJC` 是一个针对 `JAXB 2.1 XJC` 的插件,它的主要目的是为了方便开发者在使用 `Java 持久化 API (Java Persistence API)`,即 `JPA` 的同时,能够利用 `XJC` 工具自动生成与模式(Schema)对应的 POJO(Plain ...
#### 四、Java EE 5.0与应用服务器的关系 Java EE 5.0定义了一组标准接口和服务,应用服务器则实现了这些接口和服务。这意味着应用服务器必须遵循Java EE 5.0规范来提供特定的服务和支持。例如,一个Java EE 5.0兼容...
Jettison通过遵循JSR-222(Java API for XML Processing - JSON Processing,即JAXB和JPA等标准的JSON支持)规范,为Java开发者提供了一种方便的方式来处理JSON,使得在Java世界中使用JSON变得更加简单。 在实际...
6. **JAXB和JPA实现**:如`jaxb-api.jar`、`hibernate-entitymanager.jar`,它们分别用于XML数据绑定和对象关系映射。 7. **JMS相关**:如果EJB使用JMS(Java消息服务),则需要相应的JMS实现,如`hornetq-jms.jar`...
ORM(Object Relational Mapping)模块支持对象/XML 映射,与 JAXB、Castor、XMLBeans、JiBX 和 XStream 等映射库集成。同时,Spring 还为 JPA、JDO 和 Hibernate 等流行的对象关系映射框架提供了集成。事务管理模块...
相比于Tomcat,GlassFish提供了更全面的Java EE(现称为Jakarta EE)支持,包括对Servlet、JSP、EJB、JMS、JPA等标准的全面实现,为开发企业级应用提供了强大后盾。 一、GlassFish 5.0 安装 1. 下载:首先,你需要...
当数据需要在Java对象和XML文档之间转换时,可以通过Java API for XML Processing(JAXB)等库实现对象和XML的双向绑定。 随着技术的发展,J2EE和XML的结合也在不断演进。例如,JSR 220(Java Persistence API, JPA...
在给定的“ssh lib包2”中,虽然没有明确指出具体的SSH库,但我们可以推断这可能是一个包含多个Java库的集合,这些库可能与SSH服务、网络通信、数据处理和应用程序框架有关。以下将详细解析每个子文件的内容和作用:...
通过阅读和运行这些代码,你可以看到CXF如何创建服务、配置Spring、处理HTTP请求以及与其他技术(如JAXB、JPA等)集成。 7. **学习路径** 学习CXF时,首先应理解Web服务的基本概念,然后深入学习CXF的核心组件和...
上述每个JAR文件都可能有自身的依赖,如JAXB、JPA、JTA等,确保所有必要的依赖都被正确包含在类路径中是启动JSF项目的关键。 在项目开始时,确保包含这些基本的JAR文件,才能成功运行和部署JSF应用程序。对于给定...
《Java与XML第三版》是一本深入探讨Java与XML集成技术的专业书籍,旨在帮助开发者理解和应用这两种技术在软件开发中的协同工作。XML(Extensible Markup Language)作为一种数据交换和存储的标准,广泛应用于分布式...
- **JAXB(Java Architecture for XML Binding)**:XML与Java对象间的转换。 **开发工具和应用服务器**: - **IDE(Integrated Development Environment)**,如Eclipse或IntelliJ IDEA,提供J2EE项目开发的支持。...
它提供了JPA实现,同时还支持JAXB(Java Architecture for XML Binding),用于对象-XML的映射,为多层架构提供了全面的数据持久化方案。 6. **OpenJPA**:由Apache基金会维护,OpenJPA是另一个JPA实现。它提供了高...