selectSql="select * from tb_monitor_data_15m"; List<Map<String, Object>> sqlList = jdbcTemplate.queryForList(selectSql); 循环遍历 实现分批每2000次插入数据
时间: 2024-06-06 12:10:51 浏览: 167
String insertSql = "insert into tb_monitor_data_15m (col1, col2, col3) values (?, ?, ?)";
int batchSize = 2000;
int count = 0;
List<Object[]> batchValues = new ArrayList<>();
for (Map<String, Object> sqlMap : sqlList) {
Object[] values = new Object[]{sqlMap.get("col1"), sqlMap.get("col2"), sqlMap.get("col3")};
batchValues.add(values);
count++;
if (count % batchSize == 0) {
jdbcTemplate.batchUpdate(insertSql, batchValues);
batchValues.clear();
}
}
if (!batchValues.isEmpty()) {
jdbcTemplate.batchUpdate(insertSql, batchValues);
}
相关问题
String sql = "select path from default_data where id in (740, 743, 738)"; List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);怎么从list中把path提取出来
你可以通过遍历 `list` 并使用 `get` 方法来提取 `path`。以下是一个示例代码:
```java
List<String> paths = new ArrayList<>();
for (Map<String, Object> row : list) {
String path = (String) row.get("path");
paths.add(path);
}
// 现在你可以使用 paths 变量来访问提取出来的 path 值
```
在这个示例中,我们创建了一个新的 `ArrayList` 来存储提取出来的 `path` 值。然后,我们使用 `for` 循环遍历 `list` 中的每一行,并使用 `get` 方法获取每一行中的 `path` 值。注意,我们需要将其转换为 `String` 类型。
最后,你可以使用 `paths` 变量来访问提取出来的 `path` 值。
@RequestMapping("/quanxian_user_list") public String quanxian_user_list(Model model,String act){ String sql1="select * from quanxian_yonghu where fenzu_id>6 order by id desc "; List<Map<String, Object>> list1 = jdbcTemplate.queryForList(sql1); System.out.println(list1); model.addAttribute("list1",list1); return "houtai/quanxian/user_list";
这段代码是一个Spring MVC的控制器方法,使用了@RequestMapping注解来指定请求路径。该方法接受两个参数:Model和act。
在方法体中,首先定义了一个SELECT语句,用于查询数据库表quanxian_yonghu中fenzu_id大于6的所有记录,并按照id降序排列。然后使用JdbcTemplate的queryForList方法执行该SELECT语句,并将结果存储在List<Map<String, Object>>类型的list1变量中。
最后,将list1作为模型数据添加到Model对象中,并返回字符串"houtai/quanxian/user_list",表示使用名为"houtai/quanxian/user_list"的视图来渲染响应。
阅读全文