本文共 1040 字,大约阅读时间需要 3 分钟。
@Test// @SuppressWarnings("unchecked") public void test_query_data_from_userTable() throws Exception { String sql_query_userTable = "select id, name from user order by id asc"; final Listlist = new ArrayList (); jdbcTemplate.query(sql_query_userTable, new RowMapper() { public Object mapRow(ResultSet rs, int rowNum) throws SQLException { System.out.println("current row:" + rs.getRow() + ", " + rowNum); /** 必须重置游标到第一行之前 */ rs.beforeFirst(); while(rs.next()) { int id = rs.getInt(1); String name = rs.getString(2); list.add(new User(id, name)); } return null; } }); System.out.println(list.size()); for(User u : list) { System.out.println(u); } }
# 可见当前行号为 1,即当前游标在第 2 行之前,所以第 1 行始终不能被遍历到current row:1, 0 # 重置游标(beforeFirst())后,数据正确打印5User [id=13, name=李斯]User [id=14, name=张丽]User [id=15, name=刘晶]User [id=16, name=悟空]User [id=17, name=Micheal 刘]
转载地址:http://mjlsi.baihongyu.com/