//通用的查询方法之四:查询多行多列,但每一行又不是一个JavaBean

/*

* SELECT did,AVG(salary),MAX(Salary) FROM t_employee GROUP BY did;

* did       avg(salary)       max(salary)

1       1990.90            8900

2       4889                 6899

*/

public static List> getListMap(String sql,Object… args)throws Exception{

//2、获取连接

Connection conn = JDBCUtils.getConnection();

//3、对sql进行预编译

PreparedStatement pst = conn.prepareStatement(sql);

//4、对?进行设置值

if(args!=null && args.length>0){

for (int i = 0; i < args.length; i++) {

pst.setObject(i+1, args[i]);

}

}

//5、执行sql

ResultSet rs = pst.executeQuery();

//获取结果集的元数据对象

ResultSetMetaData metaData = rs.getMetaData();

//一共有几列

int count = metaData.getColumnCount();

//创建List

ArrayList> list = new ArrayList>();

while(rs.next()){

//每一行是一个Map的对象

HashMap map = new HashMap();

//map的key是列名

for (int i = 0; i < count; i++) {

//(1)获取列名或别名

String columnName = metaData.getColumnLabel(i+1);

//(2)获取对应的值

Object value = rs.getObject(i+1);

//(3)把这对值放到map中

map.put(columnName, value);

}

//把map放到List中

list.add(map);

}

//6、释放资源

JDBCUtils.closeQuietly(rs,pst,conn);

return list;

}

java 查找一行_Java培训之工具类通用的查询一行多列,非实体相关推荐

  1. java 静态类 安全_Java静态static工具类线程安全问题研究

    针对静态方法有以下一些前提: 静态方法和实例方法的区别是静态方法只能引用静态变量,静态方法通过类名来调用,实例方法通过对象实例来调用 每个线程都有自己的线程栈,栈与线程同时创建,每一个虚拟机线程都有自 ...

  2. java时间随机数_java开发代码工具类(时间戳/随机数/日期等)

    简介 java开发代码工具类,提高开发效率,持续更新~ 实践 package com.springboot.sixmonth.common.util; import java.math.BigInte ...

  3. java计算工作日_Java工作日计算工具类

    工作日计算工具类 主要功能:传入两个日期,返回这两个日期之间有多少个工作日. 思路: 预先设置好一定年份范围内的节假日.补休到map里.(这里暂时只设置了2017 - 2018年的) 将这个年份范围内 ...

  4. java签名软件_Java实现签名工具类

    一 点睛 签名和验证签名常常用于网络安全,在此提供一个工具类. 二 代码 package com.imooc.demo.common.util; import org.apache.commons.c ...

  5. java word生成_JAVA生成WORD工具类

    该方法借助freemarker的JAR包即可. 参考: 所需工具: 步骤: 1.在word中编辑好模版样式,设置好占位符,注意图片最好先黏上去 2.在word中,文件-另存为-XML格式 3.使用工具 ...

  6. java校验文件格式_java验证文件格式工具类(获取文件真实格式)

    , String>();privateVerifyFileType(){} static{ getAllFileType();//初始化文件类型信息} /*** Discription:[get ...

  7. java描绘条形码_java生成条形码工具类

    /** * 静态内部类 * 自定义的 TextPainter, 允许定义字体,大小,文本等 * 参考底层实现:BaseLineTextPainter.getInstance() */ protecte ...

  8. java每秒限流_java限流工具类

    代码 import com.google.common.util.concurrent.RateLimiter; import java.util.concurrent.ConcurrentHashM ...

  9. (10)Java泛型-Map集合-集合框架工具类-可变参数-静态导入

    -- 部分1.5新特性Java泛型-Map集合-集合框架工具类 泛型 概述: JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制. 对于泛型可以这样理解: 没有使用泛型时,只要是对 ...

最新文章

  1. 多机多卡训练基本原理
  2. Could not find artifact com.sun:tools:jar:1.5.0 解决办法
  3. ubuntu怎么清空回收站?(权限不够)
  4. 在gcc中定义符号常量
  5. Html_Img元素 设置图片与其他元素横排高度一致
  6. 原来体检报告是这么看的,赶紧收藏!
  7. 【语音判别】基于matlab双门限法判别语音信号【含Matlab源码 1720期】
  8. 开关电源磁性元件设计
  9. ffplay 分析概述
  10. IFIX组态-----通过按钮弹出、关闭子画面
  11. 深圳学位锁定怎么计算机,【实用】如何查询深圳房子学位是否锁定?(附操作步骤)...
  12. redis-cli使用说明
  13. 浏览器-点击预览视频文件(自动播放、循环播放)
  14. Linux SCSI设备容量打印代码分析
  15. Apple App store的应用购买限制 - 年龄
  16. 用 Code 改变世界 —— 阿里百川 Hackathon 回顾
  17. 大数据多租户的概念_大数据平台 多租户
  18. 6个小众口碑却非常好的APP,收藏起来,变身手机达人!
  19. 计算机科学与技术8G够,高手们.请问8G物理内存设置多少虚拟内存适合
  20. Efficient Image Dehazing with Boundary Constraint and Contextual Regularization

热门文章

  1. 完美解决MySQL重装问题
  2. Android:禁用listView上的突出显示单击
  3. Git将主合并到功能分支
  4. 我为什么要使用IDE? [关闭]
  5. Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
  6. 汉字转拼音插件:LM-PinYin.js
  7. shell中遍历目录
  8. IOS--工具--使用CocoaPods管理依赖库
  9. 分享jQuery对象和Javascript对象之间的转换代码
  10. WPF 4 Ribbon 开发 之 快捷工具栏(Quick Access Toolbar)