我已经在致力于一个使用 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/