gpt4 book ai didi

java - 使用 Java 将 XML 数据加载到 mySql 的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 18:28:45 26 4
gpt4 key购买 nike

我已经在致力于一个使用 JAVA 优化与数据库交互的项目。第一步,我开始将 XML 数据加载到 mysql。我发现很多文章都在讨论这个问题,他们在插入数据之前解析数据,就像这篇文章一样: https://dzone.com/articles/load-xml-into-mysql-using-java

但我试图把事情做得更简单:所以我编写了使用 LOAD local XML infile..(sql 查询)加载数据的代码,并且运行良好。

package my.project;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class App {
static final String dbUrl = "jdbc:mysql://localhost/dbOptimization";
static final String password = "azerty";
static final String user = "root";
public Connection conn;

/*
* Load jdbc Driver
*/
static {
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Dirver loaded");
} catch (ClassNotFoundException ex) {
System.err.println("Cannot load driver " + ex);
}
}

/*
* Connect to DB
*/
public void connect() {
try {
conn = DriverManager.getConnection(dbUrl, user, password);
System.out.println("Database connected!");
} catch (SQLException e) {
System.err.println("Cannot connect the database!");
}
}

/*
* Create Table and Load Data
*/
public void createTable() {
try {
conn.createStatement().execute("create Table badges(Id INTEGER,UserId VARCHAR(20),Name varchar(20),Date DATE ,Class INTEGER ,TagBased VARCHAR(20))");
System.out.println("table created");
conn.createStatement().execute("Load xml local infile '/home/lenovo/Bureau/Project/3dprinting/Badges.xml'into Table badges(Id,UserId,Name,Date,Class,TagBased)");
System.out.println("data parsed");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("connot create Table" + e);
}
}


public static void main(String[] args) {
System.out.println("Hello World!");
App app =new App();
app.connect();
app.createTable();
}
}

请问我的代码有什么问题吗?!每种方法的优点和缺点是什么?哪一个的性能更好?

谢谢

最佳答案

答案取决于您是否要将 XML 作为整个文档使用。

如果您使用 XPath 在文档内部进行搜索,则解析和加载可能有意义。

关于java - 使用 Java 将 XML 数据加载到 mySql 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45909447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com