JdbcTemplate 自定义返回的结果集字段和实体类映射
废话不多:抄袭代码
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 自定义返回的结果集字段和实体类映射的更多相关文章
- 使用Dynamics 365 CE Web API查询数据加点料及选项集字段常用查询
微软动态CRM专家罗勇 ,回复336或者20190516可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me. 紧接上文:配置Postman通过OAuth 2 implicit ...
- Spring data jpa中Query和@Query分别返回map结果集
引用: http://blog.csdn.net/yingxiake/article/details/51016234 http://blog.csdn.net/yingxiake/article/d ...
- jpa多表leftjoin 查询,自定义返回结果
sql代码 自定义返回结果 package com.cdp.ecosaas.coredb.uua.sync.vo; import java.io.Serializable; public class ...
- spring jdbcTemplate query 返回值为null
spring jdbcTemplate query 返回值为null 今天使用以下方法从数据库中查询数据,返回列表 public List<BookBean> getBooks(){ St ...
- django rest 自定义返回数据接口和异常处理
参考 Django rest framework自定义返回数据格式 一.简介 drf 默认返回的异常格式是这样的 1 { 2 "username": [ 3 "该字段是必 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (14) -----第三章 查询之查询中设置默认值和存储过程返回多结果集
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-6在查询中设置默认值 问题 你有这样一个用例,当查询返回null值时,给相应属性 ...
- iOS 自定义返回按钮,保留系统滑动返回
原文链接 自定义返回按钮保留系统滑动返回手势.gif 1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使 ...
- 关于FireDAC返回多结果集的问题
以前使用ADO, 如果SQL返回的结果集有多个 可以通过NextRecordset来依次获取 代码移植到FireDAC, 对于多结果集处理差不多, 但是还是有一些不一样的地方: 1.TDataSet本 ...
- oracle返回多结果集
kavy 原文 oracle返回多结果集 Oracle存储过程: create or replace procedure P_Sel_TopCount2(in_top in number, out_c ...
- C# 返回json结果集,js日期格式化
asp.net mvc返回json结果集 return Json(new { total = totalCount, rows = result }, JsonRequestBehavior.Allo ...
随机推荐
- spark (三) hadoop上传文件并运行spark
目录 1. 上传文件到hdfs 2. 运行wordCount 2.1 spark-shell运行 2.2 spark-submit运行example(stand-alone) 2.3 spark-su ...
- MTK8766 LK GPIO初始化状态设置分析
问题来源是M.2 Dongle的LED灯在kernel起来之前就亮了,kernel起来之后又初始化成熄灭状态.通过排查硬件规格书.GPIO表格,大概判定是前期软件初始化不正确造成的.通过观察串口打印的 ...
- cpa-会计
会计整体介绍 1.总结 2.会计政策.会计估计及其变更和差错更正 3.存货 4.固定资产 5.无形资产 6.投资性房地产 7.长期股权投资与合营安排 8.资产减值 9.负债 10.职工薪酬 11.借款 ...
- Mac安装brew的四种方法(指定能行)
一,执行brew官网命令安装brew https://brew.sh/ 官网中复制下图中命令,在terminal中输入该命令,即: /bin/bash -c "$(curl -fsSL ht ...
- 使用GraalVM将SpringBoot工程编译成平台原生的可执行文件
原文链接:https://blog.liuzijian.com/post/209e68d0-a418-1737-503a-d47e6d2d9350.html 1.GraalVM GraalVM (ht ...
- delphi中实现http请求和提交
在对接本地的一个药械监管系统使用实现的代码,编译环境delphi Xe7 ,使用类TIdHTTP实现网络的get请求和post提交 //设置组件的属性 procedure TfrmMain.SetHt ...
- Nodify学习 二:添加节点
Nodify学习 一:介绍与使用 - 可乐_加冰 - 博客园 (cnblogs.com) Nodify学习 二:添加节点 - 可乐_加冰 - 博客园 (cnblogs.com) 添加节点(nodes) ...
- 在SOUI4中工作线程如果与UI线程交互
在SOUI4中工作线程如果与UI线程交互 很多时候程序的耗时过程需要在工作线程执行,执行过程中可能需要通过UI线程来展示运行状态及结果,这就涉及到工作线程与UI线程交互的问题. SOUI的UI框架本身 ...
- Flink批处理-简单案例-01
一.简单案例 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...
- USACO24DEC 2D Conveyer Belt S [ 蓝 ] [ 图论建模 ] [ Flood Fill ]
2D Conveyer Belt:图论建模+洪水填充妙妙题.质量极高. 观察 首先面对这种不断往图里面加点或者边,且满足前面的答案可以由加边后推出的题,第一个想到的就得是倒序枚举加边过程的 trick ...