用Java实现从Xml抽取数据到关系型数据库

import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.*;
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.output.*;
import java.*;
import java.sql.*;
import java.io.*;
import java.math.*;

public class ReadXml {
 public static void main(String[] args) throws Exception {
  SAXBuilder builder = new SAXBuilder();
  Document read_doc = builder.build("TextXml.xml");
  Element stu = read_doc.getRootElement();
  List list = stu.getChildren("用户1");
  System.out.println("=================test===================");
  for (int i = 0; i < list.size(); i++) {
   Element e = (Element) list.get(i);
   String MPID = e.getChildText("MPID");
   String MPSQID = e.getChildText("MPSQID");
   String MPH = e.getChildText("MPH");  
   String MPMC = e.getChildText("MPMC");
   String MPGG = e.getChildText("MPGG");
   String XZQ = e.getChildText("XZQ");
   String PCS = e.getChildText("PCS");
   String JWH = e.getChildText("JWH");
   String TBRQ = e.getChildText("TBRQ");
   String SQR = e.getChildText("SQR");
   String SCCZ = e.getChildText("SCCZ");
   String RESERVATION04 = e.getChildText("RESERVATION04");
   String RESERVATION05 = e.getChildText("RESERVATION05");
  
System.out.println("=================门楼牌数据=====================");
   System.out.println("MPID:" + MPID);
   System.out.println("MPSQID:" + MPSQID);
   System.out.println("MPH:" + MPH);
   System.out.println("MPMC:" + MPMC);
   System.out.println("MPGG:" + MPGG);
   System.out.println("XZQ:" + XZQ);
   System.out.println("PCS:" + PCS);
   System.out.println("JWH:" + JWH);
   System.out.println("TBRQ:" + TBRQ);
   System.out.println("SQR:" + SQR);
   System.out.println("SCCZ:" + SCCZ);
   System.out.println("RESERVATION04:" + RESERVATION04);
   System.out.println("RESERVATION05:" + RESERVATION05);
System.out.println("===============================================");

   String sql = null;
   ResultSet rs = null;   
   try {
    Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    String xDb_Conn_Str = "jdbc:oracle:thin:@192.168.14.27:1521:nh";
    // 载入jdbc odbc的驱动程序
    String user = "mlp";
    String password = "a";
    Connection conn = DriverManager.getConnection(xDb_Conn_Str,
      user, password); // 连接数据库
    Statement stmt = conn.createStatement(
      ResultSet.TYPE_SCROLL_SENSITIVE,
      ResultSet.CONCUR_UPDATABLE);
    double flag = Math.random();
    MPID = flag + "";
    sql = "insert into t_mlp_mpxxb(MPID,MPSQID,MPH,MPMC,MPGG) "
      + "values('" + MPID + "','" + MPSQID + "','" + MPH + "','" + MPMC +"','" + MPGG + "')";
    System.out.println(sql);
    rs = stmt.executeQuery(sql);    
   } catch (SQLException temp) {
    if (rs != null)
     rs.close();
    temp.printStackTrace();
   }
  }
 }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,ETL(Extract, Transform, Load)数据处理通常涉及到从源系统提取数据,对数据进行清洗、转换和整合,最后将处理后的数据加载到目标数据库或数据仓库中。以下是Java实现ETL过程的一些常用技术和工具: 1. **Java API for XML Processing (JAXP)**: JAXP提供了处理XML数据的API,可以用来读取和解析数据源。 2. **Apache POI**: 对于Excel等电子表格文件的读写操作,POI是一个常用的库。 3. **JDBC (Java Database Connectivity)**: 用于连接和操作各种关系型数据库,如Oracle, MySQL, SQL Server等。 4. **Java Persistence API (JPA)** 或 **Hibernate**: 对于数据库操作的持久化,可以使用ORM(对象关系映射)技术,简化数据的CRUD操作。 5. **Apache Nifi**: 提供了一个强大的数据流处理框架,可以创建复杂的ETL管道。 6. **Spring Batch**: Spring框架的一个模块,专门用于处理批量数据处理任务,包括数据抽取、转换和加载。 7. **Stream API**: Java 8引入的Stream API可用于处理大量数据,进行流式计算,提高效率。 **具体实现步骤**: - **提取**(Extract):使用JDBC或JAXP获取数据源中的数据。 - **转换**(Transform):使用Java的集合框架、Stream API或者自定义业务逻辑对数据进行清洗、格式转换、计算等操作。 - **加载**(Load):利用JDBC或JPA将处理后的数据写入目标数据库或生成报告。 **相关问题--:** 1. 在Java中如何使用JPA进行数据转换? 2. 请举个例子说明如何使用Apache Nifi实现数据流处理? 3. Spring Batch相比Java Stream API在处理大规模数据时有哪些优势?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值