java xml 导入数据库_JAVA学习之 将xml导入到数据库

我们知道向数据库中插入数将xml导入到数据库将xml导入到数据库据的方式有很多种,以前接触最多的都是通过sql语句简单的插入一条数据,今天要学习是将xml中的数据一次添加到数据库中:

首先要写一个xml文件:

00045050

0

MOISES MORENO

T1

T2

T3

T4

T5

T6

T7

00045051

0

RUTH PENA

S1

S2

S3

S4

S5

S6

S7

然后再写读取xml文件的方法:把dom4j的jar包引入到WEB-INFO下的lib下,并添加引用:

import org.dom4j.Document;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

public static void main(String[] args){

//插入数据的sql语句

String sql="insert into T_XML(NUMERO, REPOSICION, NOMBRE, TURNOS) values (?, ?, ?, ?)";

Connection conn=null;

PreparedStatement pstmt=null;

try{

conn=DbUtil.getConnection();

pstmt=conn.prepareStatement(sql);

//读取xml文件

Document doc=new SAXReader().read(new File("F:/J2EEmyself/DRP/test_xmlImport/xml/test01.XML"));

//选择xml文件的节点

List itemList=doc.selectNodes("ACCESOS/item/SOCIO");

//遍历读出的xml中的节点

for(Iterator iter=itemList.iterator();iter.hasNext();){

Element el=(Element)iter.next();

//读取节点内容

String numero=el.elementText("NUMERO");

String reposicion = el.elementText("REPOSICION");

String nombre = el.elementText("NOMBRE");

//遍历TURNOS节点中的内容

List turnosList = el.elements("TURNOS");

StringBuffer sbString=new StringBuffer();

for(Iterator iter1=turnosList.iterator();iter1.hasNext();){

Element turnosElt=(Element)iter1.next();

String lu = turnosElt.elementText("LU");

String ma = turnosElt.elementText("MA");

String mi = turnosElt.elementText("MI");

String ju = turnosElt.elementText("JU");

String vi = turnosElt.elementText("VI");

String sa = turnosElt.elementText("SA");

String doo = turnosElt.elementText("DO");

sbString.append(lu + "," + ma + "," + mi + "," + ju + "," + vi + "," + sa + "," + doo);

}

//为sql语句赋值

pstmt.setString(1, numero);

pstmt.setString(2, reposicion);

pstmt.setString(3, nombre);

pstmt.setString(4, sbString.toString());

pstmt.addBatch();

}

pstmt.executeBatch();

System.out.print("将XML导入数据库成功");

}catch(Exception e){

e.printStackTrace();

}finally{

DbUtil.close(pstmt);

DbUtil.close(conn);

}

}

这样很简单就可以把xml文件中的数据读取到数据库中:数据库中的结果如图所示:

0818b9ca8b590ca3270a3433284dd417.png

其实把xml中的数据读取到数据库中很简单,只要循环遍历每一个节点中的数据就可以。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Java中操作MongoDB数据库,需要使用MongoDB的Java驱动程序。以下是使用Java操作MongoDB数据库的基本步骤: 1. 导入MongoDB的Java驱动程序。 2. 创建MongoClient实例,该实例表示MongoDB数据库服务器的连接。 3. 获取MongoDatabase实例,该实例表示MongoDB数据库。 4. 获取MongoCollection实例,该实例表示MongoDB集合。 5. 使用MongoCollection实例执行CRUD操作。 下面是一个示例代码,演示如何使用Java操作MongoDB数据库: ```java import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; public class MongoDBExample { public static void main(String[] args) { // 创建MongoClient实例,连接MongoDB服务器 MongoClient mongoClient = new MongoClient("localhost", 27017); // 获取MongoDatabase实例,连接到指定的数据库 MongoDatabase database = mongoClient.getDatabase("myDatabase"); // 获取MongoCollection实例,连接到指定的集合 MongoCollection<Document> collection = database.getCollection("myCollection"); // 插入文档 Document document = new Document("name", "John Doe") .append("age", 30) .append("gender", "male"); collection.insertOne(document); // 查询文档 Document query = new Document("name", "John Doe"); Document result = collection.find(query).first(); System.out.println(result); // 更新文档 Document filter = new Document("name", "John Doe"); Document update = new Document("$set", new Document("age", 31)); collection.updateOne(filter, update); // 删除文档 collection.deleteOne(filter); // 关闭MongoClient实例 mongoClient.close(); } } ``` 在上面的示例代码中,我们使用MongoDB的Java驱动程序来连接到MongoDB数据库,获取MongoDB集合,并执行插入、查询、更新和删除操作。 需要注意的是,由于MongoDB的Java驱动程序不包含在Java SDK中,因此需要手动导入MongoDB的Java驱动程序库。例如,如果使用Maven构建Java项目,则需要在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.12.7</version> </dependency> ``` 这样就可以使用MongoDB的Java驱动程序来连接、查询和操作MongoDB数据库了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值