从oracle数据库查询数据生成xml,java解析xml文件的数据批量插入到oracle数据库(用SAX解析)

从oracle数据库查询数据生成xml,java解析xml文件的数据批量插入到oracle数据库(用SAX解析),第1张

我自己前段时间写的有事就问

数据库建了一个表study

id student class teacher age 这5个字段

package comsqlxml;

import javaioFile;

import javaioFileOutputStream;

import javaioFileWriter;

import javasqlConnection;

import javasqlDriverManager;

import javasqlResultSet;

import javasqlStatement;

import orgdom4jDocument;

import orgdom4jDocumentHelper;

import orgdom4jElement;

import orgdom4jioOutputFormat;

import orgdom4jioXMLWriter;

//导出数据存入XML

public class ReadDb {

public static void main(String args[]){

//连接数据库

try{

//数据库连接

String url="jdbc:oracle:thin:@100318:1521:hxtest18";

String classforname="oraclejdbcdriverOracleDriver";

String usename="zhiyong";

String password="password";

ClassforName(classforname);

Connection con=DriverManagergetConnection(url,usename,password);

Statement sta=concreateStatement();

//查询数据

ResultSet result=staexecuteQuery(

"SELECT FROM study");

//创建根节点

Document document=DocumentHelpercreateDocument();

Element studyInfo=DocumentHelpercreateElement("studyInfo");

documentsetRootElement(studyInfo);

//Element studyInfo=documentaddElement("studyInfo");

//当有值时查询

while(resultnext()){

//增加每个节点

Element study=studyInfoaddElement("study");

Element id=studyaddElement("id");

Element student=studyaddElement("student");

Element classe=studyaddElement("class");

Element teacher=studyaddElement("teacher");

Element age=studyaddElement("age");

//将数据库值通过SETTEXT为XML值

idsetText(resultgetString("id"));

studentsetText(resultgetString("student"));

//Systemoutprintln(idgetText());

classesetText(resultgetString("class"));

teachersetText(resultgetString("teacher"));

agesetText(resultgetString("age"));

}

//将树导出到文件中:两种输出方法

XMLWriter write=new XMLWriter(new FileOutputStream(new File("studyInfoxml")));

writewrite(document);

writeclose();

}catch(Exception e){

eprintStackTrace();

}

}

}

插入数据库,改了几个条件

bookstorexml文件如下

<xml version="10" encoding="UTF-8">

<bookstore>

<book has="100">

<bname>数据库</bname>

<price>3380元</price>

<date>2009-10-1</date>

</book>

<book has="95">

<bname>三国演义</bname>

<price>4000元</price>

<date>2005-1-7</date>

</book>

<book has="86">

<bname>西游记</bname>

<price>3000元</price>

<date>2004-3-8</date>

</book>

<cd have="15">

<id>1</id>

<cname>beyound</cname>

<owner>小黎</owner>

</cd>

<cd have="17">

<id>2</id>

<cname>kugou</cname>

<owner>小强</owner>

</cd>

</bookstore>

解析如下

package comsqlxml;

import javaioFile;

import javaioFileWriter;

import javasqlConnection;

import javasqlDriverManager;

import javautilIterator;

import orgdom4jAttribute;

import orgdom4jDocument;

import orgdom4jElement;

import orgdom4jDocumentException;

import orgdom4jioSAXReader;

import orgdom4jioXMLWriter;

import orgdom4jioOutputFormat;

//XML的解析与转换后存入数据库

public class Fenkai {

public static void main(String args[]){

String sql,BNAME=null,PRICE=null,DAT=null;//定义数据库表段

String sqlatt,CNAME=null,ID=null,OWNER=null;

//读取xml文件

SAXReader reader=new SAXReader();

File file=new File("bookstorexml");

try{

//数据库连接

String url="jdbc:oracle:thin:@100318:1521:hxtest18";

String classforname="oraclejdbcdriverOracleDriver";

String usename="zhiyong";

String password="password";

ClassforName(classforname);

Connection con=DriverManagergetConnection(url,usename,password);

//解析xml文件

Document document=readerread(file);

Element root=documentgetRootElement();//根节点

Systemoutprintln("输出根节点:"+rootgetName());

//下面用迭代得到子节点和孙节点

for(Iterator child=rootelementIterator();childhasNext();){

Element childEle=(Element)childnext();

Systemoutprintln("子:"+childElegetName());

Systemoutprintln("孙:");

for(Iterator grand=childEleelementIterator();grandhasNext();){

Element grandEle=(Element)grandnext();

Systemoutprintln(grandElegetName()+"值:"+grandElegetText());

//转换数据

while(grandElegetText()equals("数据库")){

grandElesetText("001");

}

while(grandElegetText()equals("三国演义")){

grandElesetText("002");

}

while(grandElegetText()equals("西游记")){

grandElesetText("003");

}

while(grandElegetText()equals("beyound")){

grandElesetText("004");

}

while(grandElegetText()equals("kugou")){

grandElesetText("005");

}

}}

//得到各节点值插入数据库

for(Iterator it= rootelementIterator("book");ithasNext();){

Element ch=(Element)itnext();

BNAME=chelementText("bname");

PRICE=chelementText("price");

DAT=chelementText("date");

// while(childElegetName()equals("cd")){}

sql="insert into book values('"+BNAME+"','" +PRICE

+"','"+DAT+"')";

//sql="select from book";//加入本语句运行不改变数据表

//执行

concreateStatement()executeUpdate(sql);}

for(Iterator itt= rootelementIterator("cd");itthasNext();){

Element cht=(Element)ittnext();

CNAME=chtelementText("cname");

ID=chtelementText("id");

OWNER=chtelementText("owner");

sqlatt="insert into cd values('"+CNAME+"','" +ID

+"','"+OWNER+"')";

//sqlatt="select from cd";

concreateStatement()executeUpdate(sqlatt);}

//将转换后文件存入txt

OutputFormat format=OutputFormatcreatePrettyPrint();

formatsetEncoding("gbk");

XMLWriter writer = new XMLWriter( new FileWriter(new File("bookchangetxt")),format);

writerwrite(document);

writerclose();

Systemoutprintln(documentasXML());//打印改变后的树

}catch(Exception e){

eprintStackTrace();

Systemoutprintln("有错啊!");

}

}

}

害虫。

一、蟑螂对人的危害仅次于家蝇,有时会更使人讨厌。它不仅传播疾病,还会使人造成过敏反应,如过敏性哮喘、皮炎等。它在食物上到处乱爬、啃咬衣物、书画、到处都会出现它的踪影。  

二、蟑螂全身带有细菌,被蟑螂污染的食物会使人得严重的肠胃炎、食物中毒或痢疾。它是传染病菌和病毒的携带者,由于到处取食、爬行,侵害面广、食性杂,既可在垃圾、厕所、盥洗室活动、又在食物上取食,若食用了被蟑螂污染过食物就有可能传染疾病,因而蟑螂传播疾病的危害是不容忽视的。

三、蟑螂已被证明携带约40-50种对脊椎动物致病的细菌,如痢疾杆菌、大肠杆菌、鼠疫杆菌等,可引起食物中毒,传播肝炎、脊髓灰质炎、肺炎、结核等致病细菌。

扩展资料:

蟑螂害怕的东西

1,蟑螂怕光:蟑螂是一种喜暗怕光的生物,一般都是白天躲在窝里睡觉啥的,到了晚上就会出来活动啥的。

2,蟑螂怕没水又干燥:蟑螂都称之为打不死的小强,没有水又干燥的地方它会活不了多久的。

3,蟑螂怕洋葱(还有黄瓜):洋葱的刺激性气味人难受蟑螂也是受不了的,故放有洋葱和黄瓜的地方蟑螂是不乐意去的。

4,蟑螂怕有毒的夹竹桃:花叶枝都有毒的夹竹桃也能让蟑螂“闻风丧胆”。

5,蟑螂怕呛人的芥末:准备上又辣又呛的芥末放在家里蟑螂也害怕。

6,蟑螂还害怕自己的天敌:生命力强大的蟑螂也是有蟑螂的,像蝎子、蜈蚣、蚂蚁、蜘蛛、老鼠、猫、壁虎、蟾蜍、蜥蜴等。

参考资料来源:百度百科—蟑螂

写个实体类,重写equals方法。

package com;

import javautilArrayList;

import javautilList;

public class Zhuq {

/1 小红 123

2 小明 456

3 小强 123 /

public static void main(String[] args) {

List<Student> list = new ArrayList<>();

listadd(new Student("小红", "1", "123"));

listadd(new Student("小明", "2", "456"));

listadd(new Student("小强", "3", "123"));

for(Student bean :list){

if(listcontains(bean)){

Systemoutprintln(bean);

}

}

}

}

package com;

public class Student {

private String name;

private String Id;

private String pwe;

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

public String getId() {

return Id;

}

public void setId(String id) {

Id = id;

}

public String getPwe() {

return pwe;

}

public void setPwe(String pwe) {

thispwe = pwe;

}

@Override

public boolean equals(Object obj) {

if(obj instanceof Student){

if(((Student)obj)getPwe()equals( thispwe) && !((Student)obj)getId()equals( thisId)){

return true;

}

}

return false;

}

@Override

public String toString() {

return "Student [name=" + name + ", Id=" + Id + ", pwe=" + pwe + "]";

}

public Student(String name, String id, String pwe) {

super();

thisname = name;

Id = id;

thispwe = pwe;

}

public Student() {

super();

}

}

新建一个类 如 Helper

public class Helper

{

public static String hpname="";

}

这个类中的hpname是静态字段 无需new,直接可以在其他窗体中通过Helperhpname 进行访问和赋值。

如 我在Form1窗体中将他赋值为“小强”,Helperhpname="小强"。那么 可以在Form2中进行取值 。如 String name=Helperhpname;

以上就是为你实现的效果。

以上就是关于从oracle数据库查询数据生成xml,java解析xml文件的数据批量插入到oracle数据库(用SAX解析)全部的内容,包括:从oracle数据库查询数据生成xml,java解析xml文件的数据批量插入到oracle数据库(用SAX解析)、蟑螂是益虫还是害虫、想通过java查询某表的数据并显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9289625.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存