xmlLe fichier est lu dans la base de données
La première étape consiste à importer des packages
c3p0, dom4j, jaxen, Connecteur MySQL
Étape 2 fichier xml, config Fichier
Étape 3javabean
Étape 4 c3p0Classe d'outils
Étape 5 Lire le fichier xml SAXReaderxpath dans 🎜>
nécessite d'abord la collection map Ajouter des alias , parcourez les fichiers lus,
donne list
Le sixième étape, list
La première étape, forfait guide
c3p0, dom4j, jaxen, Connecteur MySQL
Étape 2xmlfichier, configFichier
fichier xml, configFichierSelon les exigences,
Contraintes de Plus précisément, effectuez la quatrième étape de la<?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>
c3p0 classe d'outils
package com.itheima.util ;Étape 5 Lire le fichier xml <🎜 dans SAXReader
>
xpathimport 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; } } }
wayVous devez d'abord ajouter des alias à la collection map et parcourir les fichiers lus , a donné list
package com.itwjx.xml; La sixième étape,
listdonne la classe de connexion à la base de données de c3p0
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;
/** * 数据库名称 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); } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!