欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 將.sql文件批量插入mysql

在Java開發(fā)中,我們常常需要將.sql文件中的數(shù)據(jù)批量插入到MySQL數(shù)據(jù)庫(kù)中。本文將介紹如何使用Java代碼實(shí)現(xiàn)該功能。

首先,我們需要連接MySQL數(shù)據(jù)庫(kù)??梢允褂肑DBC連接數(shù)據(jù)庫(kù),示例代碼如下:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");

連接成功后,我們需要讀取.sql文件的內(nèi)容,可以使用InputStreamReader和BufferedReader讀取文件,示例代碼如下:

String sqlFilePath = "D:/data.sql";
InputStreamReader isr = new InputStreamReader(new FileInputStream(sqlFilePath), "UTF-8");
BufferedReader br = new BufferedReader(isr);

讀取文件后,我們需要解析文件中的SQL語(yǔ)句并執(zhí)行??梢允褂肧tatement或PreparedStatement對(duì)象執(zhí)行SQL語(yǔ)句,示例代碼如下:

String line = null;
while ((line = br.readLine()) != null) {
if (!line.startsWith("--")) {
PreparedStatement ps = conn.prepareStatement(line);
ps.execute();
ps.close();
}
}

以上代碼將逐行讀取.sql文件,如果該行不是注釋行,則將該行作為SQL語(yǔ)句,使用PreparedStatement執(zhí)行。

最后,我們需要釋放資源,包括數(shù)據(jù)庫(kù)連接和文件流,示例代碼如下:

br.close();
isr.close();
conn.close();

完整代碼如下:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
String sqlFilePath = "D:/data.sql";
InputStreamReader isr = new InputStreamReader(new FileInputStream(sqlFilePath), "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
if (!line.startsWith("--")) {
PreparedStatement ps = conn.prepareStatement(line);
ps.execute();
ps.close();
}
}
br.close();
isr.close();
conn.close();

使用以上代碼,我們可以輕松將.sql文件中的數(shù)據(jù)批量插入到MySQL數(shù)據(jù)庫(kù)中。