将 java.sql.ResultSet 的返回结果格式化为 MySQL 终端风格的表格输出。
- 自动列宽适配:根据列名和数据内容自动计算每列最佳宽度
- 空结果集友好:查询无结果时显示
Empty set而非抛异常 - 零额外依赖:仅依赖 JDBC 标准 API(
java.sql.ResultSet),兼容所有 JDBC 数据源 - 类 MySQL 输出:表格边框、列对齐方式与 MySQL CLI 一致
- JDK 1.8+
- Scala 2.12+
- Maven 3.x
项目暂未发布到 Maven Central,请先 clone 并本地安装:
git clone https://github.com/jiangxt2/pretty-resultset.git
cd pretty-resultset
mvn clean install<dependency>
<groupId>com.firmiana</groupId>
<artifactId>pretty-resultset</artifactId>
<version>1.0</version>
</dependency>import com.firmiana.util.ResultSetPrinter
import java.sql.DriverManager
// 1. 连接任意 JDBC 数据源
Class.forName("com.mysql.cj.jdbc.Driver")
val conn = DriverManager.getConnection("jdbc:mysql://host:port/database")
// 2. 执行查询
val rs = conn.createStatement().executeQuery("SELECT * FROM users LIMIT 10")
// 3. 格式化打印
new ResultSetPrinter().printResultSet(rs)+----+----------+---------------------+
| id | username | email |
+----+----------+---------------------+
| 1 | alice | alice@example.com |
| 2 | bob | bob@example.com |
| 3 | carol | carol@example.com |
+----+----------+---------------------+
空结果集时输出:
Empty set
| 方法 | 说明 |
|---|---|
printResultSet(rs: ResultSet): Unit |
将 ResultSet 格式化为表格输出到标准输出 |
Apache License 2.0,详见 LICENSE。