废话不多:抄袭代码

package com.webank.wedatasphere.qualitis.handler;

import com.webank.wedatasphere.qualitis.response.Grid;
import com.webank.wedatasphere.qualitis.response.SelectRuleResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component; import java.util.List; @Component
public class CommonJDBCService {
// 公共的JDBC服务 @Autowired
private JdbcTemplate jdbcTemplate; /**
* 分页查询 规则颗粒度---细粒自定义
*/
public Grid<?> queryRuleDataGridByPageInSqlWhere(int pageNumber, int pageSize){
String querySql = "select a.id,a.create_time,a.rule_template_name,a.cn_name,b.cluster_name,b.db_name,\n" +
"b.table_name,b.col_name,b.col_name,b.filter \n" +
"from qualitis_rule a \n" +
"left join qualitis_rule_datasource b on a.id = b.rule_id \n" +
"where a.project_id is null order by a.id asc";
String countSql= "select count(1) \n" +
"from qualitis_rule a \n" +
"left join qualitis_rule_datasource b on a.id = b.rule_id \n" +
"where a.project_id is null ";
int offset = (pageNumber - 1) * pageSize;
querySql = querySql + " limit " + offset + " , " + pageSize;
List<SelectRuleResponse> resultSets = jdbcTemplate.query(querySql, new Object[]{}, (resultSet, i) -> {
SelectRuleResponse selectRuleResponse = new SelectRuleResponse();
selectRuleResponse.setId(resultSet.getLong("id"));
selectRuleResponse.setRuleTemplateName(resultSet.getString("rule_template_name"));
selectRuleResponse.setCnName(resultSet.getString("cn_name"));
selectRuleResponse.setDatasourceName(resultSet.getString("cluster_name"));
selectRuleResponse.setDbName(resultSet.getString("db_name"));
selectRuleResponse.setTableName(resultSet.getString("table_name"));
selectRuleResponse.setTableFields(resultSet.getString("col_name"));
selectRuleResponse.setSqlWhere(resultSet.getString("filter"));
selectRuleResponse.setCreateTime(resultSet.getString("create_time"));
return selectRuleResponse;
});
Integer total = jdbcTemplate.queryForObject(countSql, Integer.class);
return Grid.OkPage(resultSets, total == null ? 0 : total); } }

JdbcTemplate 自定义返回的结果集字段和实体类映射的更多相关文章

  1. 使用Dynamics 365 CE Web API查询数据加点料及选项集字段常用查询

    微软动态CRM专家罗勇 ,回复336或者20190516可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me. 紧接上文:配置Postman通过OAuth 2 implicit ...

  2. Spring data jpa中Query和@Query分别返回map结果集

    引用: http://blog.csdn.net/yingxiake/article/details/51016234 http://blog.csdn.net/yingxiake/article/d ...

  3. jpa多表leftjoin 查询,自定义返回结果

    sql代码 自定义返回结果 package com.cdp.ecosaas.coredb.uua.sync.vo; import java.io.Serializable; public class ...

  4. spring jdbcTemplate query 返回值为null

    spring jdbcTemplate query 返回值为null 今天使用以下方法从数据库中查询数据,返回列表 public List<BookBean> getBooks(){ St ...

  5. django rest 自定义返回数据接口和异常处理

    参考 Django rest framework自定义返回数据格式 一.简介 drf 默认返回的异常格式是这样的 1 { 2 "username": [ 3 "该字段是必 ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (14) -----第三章 查询之查询中设置默认值和存储过程返回多结果集

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-6在查询中设置默认值 问题 你有这样一个用例,当查询返回null值时,给相应属性 ...

  7. iOS 自定义返回按钮,保留系统滑动返回

    原文链接 自定义返回按钮保留系统滑动返回手势.gif 1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使 ...

  8. 关于FireDAC返回多结果集的问题

    以前使用ADO, 如果SQL返回的结果集有多个 可以通过NextRecordset来依次获取 代码移植到FireDAC, 对于多结果集处理差不多, 但是还是有一些不一样的地方: 1.TDataSet本 ...

  9. oracle返回多结果集

    kavy 原文 oracle返回多结果集 Oracle存储过程: create or replace procedure P_Sel_TopCount2(in_top in number, out_c ...

  10. C# 返回json结果集,js日期格式化

    asp.net mvc返回json结果集 return Json(new { total = totalCount, rows = result }, JsonRequestBehavior.Allo ...

随机推荐

  1. Python设计模式(第2版)中文的pdf电子书

    Python设计模式(第2版)中文的pdf电子书下载地址:百度云盘,提取码:dmem

  2. Eclipse中如何将web应用部署到tomcat

    第1种方法: 将workspace下的复制到tomcat的webapp下(我看度还是算了,看着都觉得麻烦). 第2种方法:总体思路就是:(1)先为web应用创建Tomcat Server:(2)再将w ...

  3. Java GUI控件SwingX之JXTaskPane的使用示例

    JXTaskPane 类似XP 左边的导航栏,在开发Swing应用的时候很好用的.下面两张截图反应了JXTaskPane的动画效果.可以自由的卷起和展开.   JXTaskPane的的使用步骤:1.新 ...

  4. 抖音技术分享:抖音Android端手机功耗问题的全面分析和详细优化实践

    本文由字节跳动技术团队高原.汤中峰分享,原题"抖音功耗优化实践",本文有修订和改动. 一.引言 功耗优化是应用体验优化的一个重要课题,高功耗会引发用户的电量焦虑,也会导致糟糕的发热 ...

  5. 连接Redis 错误的解决方法: It was not possible to connect to the redis server(s); to create a disconnected multiplexer

    The error you are getting is usually a sign that you have not set abortConnect=false in your connect ...

  6. .NetCore Docker test

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 ...

  7. 实“智”名归!天翼云论文被国际顶会IEEE CVPR收录!

    近日,由天翼云弹性网络产品线撰写的<Small Scale Data-free Knowledge Distillation>长文被IEEE Conference on Computer ...

  8. Ceph的crush算法与一致性hash对比介绍

    本文分享自天翼云开发者社区<Ceph的crush算法与一致性hash对比介绍>,作者:l****n 首先,我们先回顾下一致性hash以及其在经典存储系统中的应用. 一致性hash的基本原理 ...

  9. Luogu P5298 PKUWC2018 Minimax 题解 [ 紫 ] [ 树形 dp ] [ 线段树合并 ] [ 概率 dp ]

    Minimax:线段树合并优化 dp 好题. 树形 dp 因为要求出每一个值的出现概率,首先我们可以想到一个很暴力的 dp 式子. 定义 \(dp_{i,j}\) 表示在节点 \(i\) 时,权值 \ ...

  10. Hetao P1391 操作序列 题解 [ 绿 ] [ 二维线性 dp ]

    操作序列:简单的二维 dp. 观察 我们每次操作可以让 \(x\) 变为 \(2x-1\),或者当 \(x\) 为奇数时让 \(x\) 变为 \(\frac{x+1}{2}\). 显然,执行第一种操作 ...