doris批量导出表结构java版本实现
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DorisDump {
private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DB_URL = "jdbc:mysql://localhost:9030/database";
private static final String USER = "user";
private static final String PASSWORD = "password";
public static void main(String[] args) throws SQLException, IOException {
// Parse command line arguments
Args args = new Args(args);
// Connect to the database
Connection connection = DriverManager.getConnection(DB_URL, USER, PASSWORD);
// Create a statement
Statement statement = connection.createStatement();
// Get the list of tables
ResultSet tables = statement.executeQuery("show tables;");
// Create a list to store the create table statements
List<String> createTableStatements = new ArrayList<>();
// Iterate over the tables
while (tables.next()) {
// Get the name of the table
String tableName = tables.getString(1);
// Get the create table statement for the table
ResultSet createTableStatement = statement.executeQuery("show create table " + tableName + ";");
// Add the create table statement to the list
createTableStatements.add(createTableStatement.getString(1));
}
// Write the create table statements to a file
File file = new File("table.txt");
try (FileWriter fileWriter = new FileWriter(file)) {
for (String createTableStatement : createTableStatements) {
fileWriter.write(createTableStatement + "\n");
}
}
// Close the connection
connection.close();
}
private static class Args {
private String host;
private int port;
private String user;
private String password;
private String database;
public Args(String[] args) {
for (int i = 0; i < args.length; i++) {
if (args[i].equals("-h")) {
host = args[i + 1];
} else if (args[i].equals("-P")) {
port = Integer.parseInt(args[i + 1]);
} else if (args[i].equals("-u")) {
user = args[i + 1];
} else if (args[i].equals("-p")) {
password = args[i + 1];
} else if (args[i].equals("-d")) {
database = args[i + 1];
}
}
}
public String getHost() {
return host;
}
public int getPort() {
return port;
}
public String getUser() {
return user;
}
public String getPassword() {
return password;
}
public String getDatabase() {
return database;
}
}
}
关注公众号“大模型全栈程序员”回复“大数据面试”获取800页左右大数据面试宝典 ,回复“大数据”获取多本大数据电子书