//处理查询结果集(遍历结果集)
public class JDBCTest05 {
public static void main(String[] args) {
Connection conn =null;
Statement stmt =null;
ResultSet rs=null;
try{
Class.forName(“com.mysql.jdbc.Driver”);
conn = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/girls”,“root”,“123456”);
stmt=conn.createStatement();
String sql =“select id as a,boyName,userCP from boys”;
rs =stmt.executeQuery(sql);//专门执行DQL语句的方法
/*boolean flag1=rs.next();
//System.out.println(flag1);
if(flag1){
//光标指向的行有数据
//取数据
//getString()方法的特点是:不管数据库中的数据类型是什么,都以String的形式取出
//程序中的1 2 3说的是第几列
String id=rs.getString(1);//JDBC中所有下标从1开始。不是0开始
String boyName=rs.getString(2);
String userCP=rs.getString(3);
System.out.println(id + ","+boyName + "," +userCP);
}
*/
/*while (rs.next()){
String id=rs.getString(1);
String boyName=rs.getString(2);
String userCP=rs.getString(3);
System.out.println(id + ","+boyName + "," +userCP);
}
*/
//这个不是以列的下标获取,而是以列的名字获取
/*
while (rs.next()){
String id=rs.getString("a");//重点注意:列名称不是表中的列名称,而是查询结果集的列名称
String boyName=rs.getString("boyName");
String userCP=rs.getString("userCP");
System.out.println(id + ","+boyName + "," +userCP);
}
*/
//除了可以以String类型取出之外,还可以以特定的类型取出
while (rs.next()){
int id=rs.getInt("a");//重点注意:列名称不是表中的列名称,而是查询结果集的列名称
String boyName=rs.getString("boyName");
String userCP=rs.getString("userCP");
System.out.println((id+10) + ","+boyName + "," +userCP);
}
}catch (Exception e){
e.printStackTrace();
}finally {
if(rs !=null){
try {
rs.close();
}catch (Exception e){
e.printStackTrace();
}
}
if(stmt !=null){
try {
stmt.close();
}catch (Exception e){
e.printStackTrace();
}
}
if(conn !=null){
try {
conn.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
}
}