偷懒工具类
分享一下偷懒工具类,备份数据过多,没有sql文件执行权限,愁
灵光一闪, 可以写点代码 按行执行sql
偷懒工具类
package com.test;
import java.io.FileReader;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Properties;
import java.util.Scanner;
import java.util.stream.Stream;
/**
* @author Wei
* @date 2022/11/16 14:09
*/
public class LazyUtil {
public static void main(String[] args) {
processString();
}
/**
* 处理字符串
*/
private static void processString(){
String fileName = "F:\\user.sql";
try (FileReader fileReader = new FileReader(fileName)) {
try (Scanner sc = new Scanner(fileReader)) {
while (sc.hasNextLine()) { //按行读取字符串
String line = sc.nextLine();
System.out.println(line);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 导入数据
*/
private static void doImportData(){
Properties properties = new Properties();
properties.setProperty("user", "root");
properties.setProperty("password", "123456");
try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", properties)) {
//connection.setAutoCommit(false);
String fileName = "F:\\user.sql";
try (Stream<String> lines = Files.lines(Paths.get(fileName))) {
lines.parallel().forEach(sql ->{
try {
sql = sql.substring(0, sql.length() - 1);
System.out.println(sql);
try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.execute();
}
} catch (Exception e) {
e.printStackTrace();
}
});
}
//connection.commit();
}catch (Exception e){
e.printStackTrace();
}
}
}