import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; /** * 只读探针:执行一条查询并把结果按列打印出来(用于核对服务器上的数据现状)。 * *

用法:java Query <jdbc-url> "select ..." */ public class Query { public static void main(String[] args) throws Exception { try (Connection connection = DriverManager.getConnection(args[0], "root", "123456"); Statement statement = connection.createStatement(); ResultSet rows = statement.executeQuery(args[1])) { ResultSetMetaData meta = rows.getMetaData(); int columns = meta.getColumnCount(); StringBuilder header = new StringBuilder(); for (int index = 1; index <= columns; index++) header.append(meta.getColumnLabel(index)).append(" | "); System.out.println(header); while (rows.next()) { StringBuilder line = new StringBuilder(); for (int index = 1; index <= columns; index++) { Object value = rows.getObject(index); line.append(value == null ? "NULL" : String.valueOf(value)).append(" | "); } System.out.println(line); } } } }