ResultSet对象–next()方法
ResultSet 对象具有指向其当前数据行的指针。
最初,指针被置于第一行之前。next 方法将指针移动到下一行;因为该方法在 ResultSet 对象中没有下一行时
返回 false,所以可以在 while 循环中使用它来迭代结果集。
一般常用:
While(rs.next()){
//如果返回ture
//可以循环取出多行数据
}
If(rs.next()){
//如果返回ture
再取出指针所指向的那行数据
}
深入解析:
ResultSet是您访问数据库返回的数据表,也就是结果集合,
1.一开始是处于第一行之前,即beforeFirst,第一次使用next()就将指针指向返回结果集的第一行。
2.每使用一次next(),指针就指向下一行,这时候你就可以使用rs.getObject()或者getInt()或者getString()之类的方法返回该行的某一个字段的值,也就是getObject()方法里面的参数可以传递索引(索引由1开始),即如果你的数据库第一列的数据叫id,那你可以用getObject(“id”)或者getObject(1)得到你的rs目前指着的那一条数据的该列的值。
3.当next()成功的时候其实会返回一个布尔值true,当指针指到最后一行的后面时候,即afterLast()就返回布尔值false。
4.所以第一次调用next()的时候应该是指向第一行数据。next()在指针指向第一行之前到最后一行之间的返回true的,也就是当你的指针已经指向到最后一行的数据集了,再用一次next()是返回true的,但此时再用一次next()就是false,因为执政已经到最后一行的后面了(也就是afterLast)