我们不妨写一段这样的代码
import java.sql.*;
public class JDBCTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("org.gjt.mm.mysql.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "1234");
String sql="select * from emp e";
PreparedStatement ps = connection.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()){
int id = rs.getInt(1);
String name = rs.getString(2);
System.out.println(id+"="+name);
}
rs.close();
ps.close();
connection.close();
}
}
这里我们知道是从rs这个对象中获取数据的,大概能猜出是在next时获取数据的,我们不妨点进去
进入com.mysql.jdbc.ResultSetImpl#next 方法
有这么一段代码this.thisRow = this.rowData.next(); 点进去
进入com.mysql.jdbc.RowDataStatic#next 查看其属性,发现有个rows的属性保存了查询出的数据且这些数据都是byte类型