设置statement 为只读+可循环读取
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY
rset.next():
初始从第一行的前一行后移,当后面一行没有值返回flase
rSet.absolute(0);
移动光标到第一行的前一行,-1 为倒数一行,1为第一行
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver") .newInstance();
Connection conn = DriverManager.getConnection("jdbc:sqlserver://"+Setting.severinfo,Setting.user,Setting.DBPassword);
// conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
PreparedStatement psStatement =conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rSet = psStatement.executeQuery();
ResultSetMetaData rsmd = rSet.getMetaData();
int columnsNumber = rsmd.getColumnCount();
for(int col=1;col<=columnsNumber;col++){
ArrayList<String> data_col = new ArrayList<String>();
while (rSet.next()) {
data_col.add(rSet.getString(col));
}
data.put(rsmd.getColumnName(col), data_col);
rSet.absolute(0);
}