将ResultSet转化为json
时间: 2024-01-12 10:04:51 浏览: 98
将 ResultSet 转化为 JSON 需要以下步骤:
1. 将 ResultSet 中的数据提取出来存入 List 或 Map 中。
2. 使用 JSON 库将 List 或 Map 转化为 JSON 字符串。
下面是一个示例代码:
```java
import java.sql.*;
import java.util.*;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ResultSetToJson {
public static void main(String[] args) throws Exception {
// 创建数据库连接
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
// 创建 SQL 查询语句并执行
String sql = "SELECT * FROM users";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// 将 ResultSet 中的数据存入 List 中
List<Map<String, Object>> list = new ArrayList<>();
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
while (rs.next()) {
Map<String, Object> row = new HashMap<>();
for (int i = 1; i <= columns; i++) {
row.put(md.getColumnName(i), rs.getObject(i));
}
list.add(row);
}
// 将 List 转化为 JSON 字符串
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(list);
System.out.println(json);
// 关闭连接
rs.close();
stmt.close();
conn.close();
}
}
```
该示例使用了 Jackson JSON 库将 List 转化为 JSON 字符串。需要通过 Maven 等方式将该库导入到项目中。
阅读全文