您的位置:首页 > 编程语言 > Java开发

Java - JDBC 结果集 ResultSet 转 List<Map> 类型,继而转 JSON 类型

2018-01-25 17:46 671 查看
尘封许久的
eclipse
上面有一个很
fuck
的项目,需要增加留言保存、查看功能。

想大多数玩家,应该工作后,基本都没直接用过
JDBC
吧?一般都是公司持久层有现成的一套接口。

JDBC 的 CRUD 执行查询时,结果集
ResultSet
List<Map>
继而转
JSON
返回给前端

/**
* 查询所有留言
*
* @return json
*/
public void findAllMsg() {
JDBCUtil jdbcUtil = new JDBCUtil();
jdbcUtil.connectDB();
List<Map<Object, Object>> list = new ArrayList<>();
String sql = "select * from guestbook order by msgdate desc";
try {
ResultSet rs = jdbcUtil.select(sql);
ResultSetMetaData md = rs.getMetaData();// 获得结果集结构信息(元数据)
int columnCount = md.getColumnCount();// ResultSet列数
// ResultSet转List<Map>数据结构
// next用于移动到ResultSet的下一行,使下一行成为当前行
while (rs.next()) {
Map<Object, Object> map = new HashMap<>();
for (int i = 1; i <= columnCount; i++) {// 遍历获取对当前行的每一列的键值对,put到map中
// rs.getObject(i) 获得当前行某一列字段的值
map.put(md.getColumnName(i).toLowerCase(), rs.getObject(i));
}
list.add(map);
System.out.println("list:" + list);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
jdbcUtil.close();
}
String data = "{\"msg\":" + JSONArray.fromObject(list) + " ,\"totalCount\":" + list.size() + "}";
send(data);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息