数据库连接工具将结果集封装成map或List<Map>
2017-05-17 16:29
423 查看
最近做java项目的时候对公司项目的mysql查询框架得到的结果不满意,于是自己就整理了部分资料将数据库查询的结果封装成map或者list。希望对大家和自己有一点帮助
1.获取connection工具类
2、废话不多说获取封装结果集的精华代码
1.获取connection工具类
public final class DBUtil { private final static String driverName = "com.mysql.jdbc.Driver"; //驱动 private final static String url = "jdbc:mysql://localhost:3306/testtwo"; private final static String userName = "root"; private final static String pwd = "123456"; public static Connection getMysqlConnection() { Connection connection = null; try{ Class.forName(driverName); connection = DriverManager.getConnection(url,userName,pwd); } catch (Exception e) { e.printStackTrace(); } return connection; } }
2、废话不多说获取封装结果集的精华代码
public class BaseDao { /** * 获取list结果集 * @param sql * @return */ public static List<Map<String, Object>> findListBySql(String sql) { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Connection connection = null; Statement st = null; ResultSet rs = null; try { connection = DBUtil.getMysqlConnection(); st = connection.createStatement(); rs = st.executeQuery(sql); ResultSetMetaData md = rs.getMetaData(); int columnCount = md.getColumnCount(); while (rs.next()) { Map<String, Object> rowData = new HashMap<String, Object>(); for (int i = 1; i <= columnCount; i++) { rowData.put(md.getColumnName(i), rs.getObject(i)); } list.add(rowData); } } catch (SQLException e) { e.printStackTrace(); } finally { closeResources(rs,st,connection); } return list; } /** * 获取map结果集 * @param sql * @return */ public static Map<String, Object> findMapBySql(String sql) { Map<String, Object> map = new HashMap<>(); Connection connection = null; Statement st = null; ResultSet rs = null; try { connection = DBUtil.getMysqlConnection(); st = connection.createStatement(); rs = st.executeQuery(sql); ResultSetMetaData md = rs.getMetaData(); int columnCount = md.getColumnCount(); while (rs.next()) { for (int i = 1; i <= columnCount; i++) { map.put(md.getColumnName(i), rs.getObject(i)); } } } catch (SQLException e) { e.printStackTrace(); } finally { closeResources(rs,st,connection); } return map; } public static void closeResources(ResultSet rs,Statement st,Connection connection) { try { if (rs != null) { rs.close(); } if (st != null) { st.close(); } if (connection != null) { connection.close(); } } catch (SQLException e) { e.printStackTrace(); } } public static void main(String[] args) { List<Map<String,Object>> list = BaseDao.findListBySql("select * from user "); System.out.println(list.get(0).get("name")); } }
相关文章推荐
- 调用play的jpa查询数据时添加Transformers.ALIAS_TO_ENTITY_MAP可将结果集封装到list<map>对象里
- 数据库查询结果封装List<Map<String,String>>
- n个List<Map>合并,Map中某属性值相等的value值相加
- 使用万能表单解析程序将表单数据封装成List<Map>
- Thymeleaf基础 遍历List、Map、List<map>、Map<List>
- JAVA List<Map>结果集处理方法集合
- 使用BeanMapper把map和bean之间的转换,list<bean>和list<map>之间的转换(含测试)
- MyBatis查询,返回值Map或List<Map>
- 将List<Map>/Map中的key转换为驼峰规则
- 查询数据库时直接封住成List<Map<String,String>>格式
- 运用全能表单解析程序将表单数据封装成List<Map>
- 在Java中将数据库查询结果保存为List<Map>类型的JavaScript数组文件
- 数据库查询返回List<Map<String, Object>>
- 7 Lucene笔记(七):第三方工具,将javabean、list、Map<String,object>转成json文本
- Mybatis返回Map,List<Map>
- list<map> 将map里面某个字段重复的,从list里面去掉
- SSM框架不用实体类,查询单个对象返回Map,多条记录返回list<Map>,及分页
- freeMarker 遍历 list,map,list<map>
- List<Map>集合根据Map里某个key对List集合重新排序介绍
- json 实体互转, list json互转 ,List<实体> 转List<Object> , List<Objcet> 转List<Map> map 转实体 , map转json