public static List<?> queryByResultSet(String sql, Object[] params, Class<?> clz) {
List list = null;// 保存查询结果
Connection conn = null;// 连接对象
PreparedStatement pstmt = null;// 命令对象
ResultSet rs = null;// 结果集
try {
// 获取连接对象
conn = getConn();
// 根据连接对象获取命令对象
pstmt = conn.prepareStatement(sql);
// 判断sql语句是否需要设置参数
if (params != null) {
setParams(pstmt, params);
}
// 执行命令
rs = pstmt.executeQuery();
// 判断是否存在记录
if (rs != null) {// 有数据
// rs.next()
// 存在记录 rs就要向上移一条记录 因为rs.next会滚动一条记录了
// rs.previous();
// 在执行while 循环
list = new ArrayList();
while (rs.next()) {
// 结果集的元数据,结果集是由数据库表中一行行数据组成的
// 这里获取的是一行数据
ResultSetMetaData metaData = rs.getMetaData();
int count = metaData.getColumnCount();// 获取总列数;
// System.out.println("总列数"+count);
Object obj = clz.newInstance();// 获取类对象的实例;