package cn.org.rapid_framework.generator.util; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import cn.org.rapid_framework.generator.provider.db.table.TableFactory; public class SqlExecutorHelper { public static List<Map> queryForList(Connection conn,String sql,int limit) throws SQLException { PreparedStatement ps = conn.prepareStatement(sql.trim()); ps.setMaxRows(limit); ps.setFetchDirection(ResultSet.FETCH_FORWARD); ResultSet rs = ps.executeQuery(); return toListMap(limit, rs); } public static List<Map> toListMap(int limit, ResultSet rs) throws SQLException { ResultSetMetaData rsmd = rs.getMetaData(); int count = 0; List<Map> list = new ArrayList<Map>(); while(rs.next()) { Map row = new HashMap(); for(int i = 1; i <= rsmd.getColumnCount(); i++) { row.put(rsmd.getColumnName(i), rs.getObject(i)); } list.add(row); count ++; if(count >= limit) { break; } } return list; } }