ホームページ  >  記事  >  Java  >  XMLファイルをデータベースに読み込む方法

XMLファイルをデータベースに読み込む方法

巴扎黑
巴扎黑オリジナル
2017-06-26 11:30:112459ブラウズ

xmlファイルがデータベースに読み込まれます

最初のステップは、パッケージをインポートすることです

c3p0dom4jジャ・センMySQL コネクタ

第 2 ステップ 0ツール ステップ 5

xml ファイルを読み取るSAXReader

xpath

の方法で

まず、

mapセットにエイリアスを追加し、読み取ったファイルを走査する必要があります。 liste1580111763df721c6bab76afcde5ef7 6 番目のステップ、liste1580111763df721c6bab76afcde5ef7 を与えました。

を与えましたc3p0

データベースに接続するクラス

最初のステップは、パッケージをインポートすることです c3p0

dom4j

jaxen

MySQL-connector

第二ステップ

xml ファイル、config ファイル xml ファイル、config ファイル

を具体的に実装する必要に応じて

Xsd

<?xml version="1.0" encoding="UTF-8"?>
<schema 
xmlns="http://www.w3.org/2001/XMLSchema" 
targetNamespace="xiaoge" 
elementFormDefault="qualified">
<element name="group">
<complexType>
<sequence maxOccurs="8" minOccurs="1">
<element name="person">
<complexType>
<sequence>
<element name="name" type="string"></element>
<element name="sex" type="string"></element>
<element name="age" type="string"></element>
</sequence>
</complexType>
</element>
</sequence>
<attribute name="id" type="int" use="required"></attribute>
</complexType>
</element>
</schema>
の制約を設定しますステップ3 javabean

必要に応じて、具体的に実行しますステップ4c3p0 ツールクラス

パッケージcom.itheima.util; 、

liste1580111763df721c6bab76afcde5ef7

package com.itwjx.xml;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
import com.mchange.v2.c3p0.ComboPooledDataSource;
 
public class C3P0Util {
private static final ComboPooledDataSource DATASOURCE = new ComboPooledDataSource();
 
public static Connection getConn(){
try {
return DATASOURCE.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
 
public static void release(ResultSet rs, Statement stmt, Connection conn){
if (rs != null) {
        try {
            rs.close();
        } catch (SQLException e) {
         e.printStackTrace();
        }
        rs = null;
    }
if (stmt != null) {
        try {
         stmt.close();
        } catch (SQLException e) {
         e.printStackTrace();
        }
        stmt = null;
    }
if (conn != null) {
        try {
         conn.close();
        } catch (SQLException e) {
         e.printStackTrace();
        }
        conn = null;
    }
}
}
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
 
import com.itwjx.entity.XMLDomain;
import com.itwjx.util.C3P0Util;

を与えます 6 番目のステップ、 liste1580111763df721c6bab76afcde5ef7 は、 c3p0

クラスに接続しますデータベース

/**
 * 数据库名称 demo
 *  表名userDomain
 *  字段:  id int
 *   name varchar
 *   birthday date
 *   hobby char
 * @author WBH
 *
 */
public class WrokXmlAns {
@Test
public void readXMLtoDB(){
try {
//读取XML文件数据
List<XMLDomain> domains = readXML("src/aaa.xml");
//将数据保存到数据库
saveXMLDateToDB(domains);
} catch (Exception e) {
e.printStackTrace();
}
}
 
 
private List<XMLDomain> readXML(String path) throws DocumentException, ParseException {
SAXReader read = new SAXReader();
Document document = read.read(path);
Map<String, String> map = new HashMap<String, String>();
map.put("wbh", "xiaofan");
read.getDocumentFactory().setXPathNamespaceURIs(map);
 
List<Element> nodes = document.selectNodes("//wbh:member");
 
List<XMLDomain> domains = new ArrayList<XMLDomain>();
for (Element element : nodes) {
String id = element.attributeValue("no");
String name = element.element("name").getText();
String birthday = element.element("birthday").getText();
String hobby = element.element("hobby").getText();
 
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = df.parse(birthday);
 
XMLDomain domian = new XMLDomain(
Integer.parseInt(id), name,date, hobby);
domains.add(domian);
}
return domains;
}
 
 
private void saveXMLDateToDB(List<XMLDomain> domains) {
//
Connection conn = null;
PreparedStatement ps = null;
try {
conn = C3P0Util.getConn();
ps = conn.prepareStatement("insert into userDomain values(?,?,?,?)");
for (XMLDomain user : domains) {
 
ps.setInt(1, user.getId());
ps.setString(2, user.getName());
ps.setDate(3, new java.sql.Date(user.getBirthday().getTime()));
ps.setString(4, user.getHobby());
 
ps.addBatch();
}
 
ps.executeBatch();
} catch (Exception e) {
e.printStackTrace();
} finally {
C3P0Util.release(null, ps, conn);
}
}
}

以上がXMLファイルをデータベースに読み込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。