用list<map>将数据库信息展示在前端
时间: 2024-03-10 12:47:26 浏览: 106
好的,以下是一个使用`List<Map>`将数据库信息展示在前端的示例Java代码:
```java
// 定义一个获取数据库中所有信息的方法
public List<Map<String, Object>> getAllData() {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
List<Map<String, Object>> dataList = new ArrayList<>();
try {
// 获取数据库连接
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 执行查询语句
stmt = conn.createStatement();
String sql = "SELECT * FROM table_name";
rs = stmt.executeQuery(sql);
// 处理结果集
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();
while (rs.next()) {
Map<String, Object> dataMap = new HashMap<>();
for (int i = 1; i <= columnCount; i++) {
dataMap.put(metaData.getColumnName(i), rs.getObject(i));
}
dataList.add(dataMap);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return dataList;
}
```
在这个方法中,我们通过执行查询语句获取数据库中的所有数据,并将结果保存在一个`List<Map>`中。每个`Map`对象表示一条数据,其中`Map`的key表示列名,value表示对应的值。
接下来,我们将这个`List<Map>`传递给前端页面进行展示。以下是一个简单的JSP页面示例,在这个页面中,我们使用JSTL标签库来遍历`List<Map>`,并将每个`Map`中的数据展示出来:
```jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Database Data</title>
</head>
<body>
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
</thead>
<tbody>
<c:forEach var="data" items="${dataList}">
<tr>
<td>${data.column1}</td>
<td>${data.column2}</td>
<td>${data.column3}</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
```
在这个JSP页面中,我们使用`<c:forEach>`标签来遍历`List<Map>`中的每个`Map`对象,并使用`${data.key}`的方式来获取每个key对应的值。这样就可以将数据库中的数据展示在前端页面上了。
阅读全文