1:首先可以看下SQL语句
select task.task_code_id as task_code_id ,count(task.id) as distributedCount,
(select count(1) from t_approval_task t1 where t1.approval_status is null and task.task_code_id = t1.task_code_id ) as waitCount,
(select count(1) from t_approval_task t1 where t1.approval_status=1 and task.task_code_id = t1.task_code_id ) as passCount,
(select count(1) from t_approval_task t1 where t1.approval_status=0 and task.task_code_id = t1.task_code_id ) as unpassCount,
(select count(1) from t_approval_task t1 where t1.approval_status=-1 and task.task_code_id = t1.task_code_id) as suspendCount
from t_approval_task task where 1=1 GROUP BY task.task_code_id ORDER BY task.task_code_id
2:然后导入的 Import
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
3:将jdbcTemplate 注入进service方法
@Autowired
private JdbcTemplate jdbcTemplate ;
4:然后最后是取结果集
final List<Map> list=new ArrayList<Map>();
jdbcTemplate.query(sb.toString(), new Object[0], new RowCallbackHandler(){
public void processRow(ResultSet rs) throws SQLException {
while(rs.next()){
Map map=new HashMap();
map.put("taskCodeId", rs.getObject("task_code_id"));
map.put("distributedCount", rs.getObject("distributedCount"));
map.put("waitCount", rs.getObject("waitCount"));
map.put("passCount", rs.getObject("passCount"));
map.put("unpassCount", rs.getObject("unpassCount"));
map.put("suspendCount", rs.getObject("suspendCount"));
list.add(map);
}
}
});
由于第一取不到数据.
直接:
final List<Map> list=new ArrayList<Map>();
jdbcTemplate.query(sb.toString(), new Object[0], new RowCallbackHandler(){
/* (non-Javadoc)
* 这里会出现一个BUG,就是第一条取不到.然后就强制把游标指向第一条.
* @see org.springframework.jdbc.core.RowCallbackHandler#processRow(java.sql.ResultSet)
*/
public void processRow(ResultSet rs) throws SQLException {
if(rs.first()){
rs.first(); //直接将游标指向第一个条记录.然后往下判断 .取到了第一条数据
Map map=new HashMap();
map.put("taskCodeId", rs.getObject("task_code_id"));
map.put("distributedCount", rs.getObject("distributedCount"));
map.put("waitCount", rs.getObject("waitCount"));
map.put("passCount", rs.getObject("passCount"));
map.put("unpassCount", rs.getObject("unpassCount"));
map.put("suspendCount", rs.getObject("suspendCount"));
list.add(map);
while(rs.next()){
Map map2=new HashMap();
map2.put("taskCodeId", rs.getObject("task_code_id"));
map2.put("distributedCount", rs.getObject("distributedCount"));
map2.put("waitCount", rs.getObject("waitCount"));
map2.put("passCount", rs.getObject("passCount"));
map2.put("unpassCount", rs.getObject("unpassCount"));
map2.put("suspendCount", rs.getObject("suspendCount"));
list.add(map2);
}
}
}
});
分享到:
相关推荐
写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字...
当Triggers的触发时间发生时,获取任务的第一个节点(通过在其上放置一个锁定)是将触发它的节点。 3.当其中一个节点在执行一个或多个作业期间失败时发生故障切换。当节点出现故障时,其他节点会检测到该状况并识别...
⼤数据流处理框架介绍 ⼤数据流处理框架介绍 实时流处理简单概述:实时是说整个流处理相应时间较短,流式计算是说数据是源源不断的,没有尽头的。实时流处理⼀般是将业务系 统产⽣的数据进⾏实时收集,交由流处理...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 17.介绍一下Hibernate的二级缓存 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 135 17.介绍一下Hibernate的二级缓存 135 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
所有的核心接口都在一个类里边,这个类是DbKing,代码不过1000行,却提供了大量的高质量功能方法,使用方法更是一目了然的简单。DbKing核心只依赖于JDBC驱动类,十分的轻量级,易于使用。 2、避免数据库连接...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字 Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,...
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
实例3 在Eclipse中创建第一个Java程序 4 常见问题 javac不是内部或者外部命令 6 常见问题 找不到类文件 6 常见问题 语法错误 7 第2章 Java基础语法 9 实例4 变量和常量 9 实例5 基本数据类型转换 10 实例6 ...