首页 > 其他分享 >JdbcTemplate 自定义返回的结果集字段和实体类映射

JdbcTemplate 自定义返回的结果集字段和实体类映射

时间:2024-02-26 11:44:04浏览次数:34  
标签:selectRuleResponse 实体类 name 自定义 集字 resultSet rule getString id

废话不多:抄袭代码

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);

    }

}

标签:selectRuleResponse,实体类,name,自定义,集字,resultSet,rule,getString,id
From: https://www.cnblogs.com/gtnotgod/p/18033982

相关文章

  • python如何将自定义目录添加到sys.path中,如何将自定义目录从sys.path中删除
    python如何将自定义目录添加到sys.path中,如何将自定义目录从sys.path中删除背景:在python脚本中,经常需要将自定义的包导入当前脚本,但该包并非pip安装,不在sys.path中,无法直接导入,所以需要临时导入自定义包;另外有时候将自定义的包永久写入了sys.path后,但实际又用不到该包,需要将自定......
  • SpringBoot:通过实现自定义接口获取实现类的@RequestMapping注解请求路径
    1.自定义接口//什么都不用写,就定义一个空接口publicinterfaceMyMark{}2.Controller接口类实现自定义接口@RestControllerpublicclassDayControllerimplementsMyMark{@RequestMapping("/day1")publicStringget1(){return"day1";}......
  • 自定义一个QAbstractScrollArea(二)
    延续上一篇文章,本文以另一种方法实现QAbstractScrollArea。此例子是一个图片缩略图的列表控件,控件沿水平方向延伸。仅作为一个例子,因为实际的图片列表可以用QListWidget实现,并不需要自己写代码。下面是程序的运行截图:头文件:classMListWidget:publicQAbstractScrollArea{......
  • 前端防抖-通过自定义指令实现
    前端防抖-通过自定义指令实现1、通过自定义事件实现前端防抖Vue.directive('preventReClick',{inserted(el,binding){el.addEventListener('click',()=>{if(!el.disabled){el.disabled=truesetTimeout(()=>......
  • Unity编辑器扩展秘籍-利用EditorApplication.contextualPropertyMenu为右键菜单增加自
    假设我们希望为材质右键弹出按钮增加新的功能,应该怎么做呢我们可以通过注册EditorApplication.contextualPropertyMenu全局回调方法,增加自定义的MenuItemusingUnityEditor;usingUnityEngine;namespaceYaojz{[InitializeOnLoad]publicstaticclassMaterialC......
  • docker 自定义网络
    docker的网络分为:单主机、跨主机这篇先说:单主机我们先说一下docker的原生网络模式网络模式简介优点使用场景none空网络,没有网络此网络与外界隔离,安全度非常高适合公司内部生产密钥host容器与宿主机共享namespace直接使用宿主机的网络,网络性能方面最好。......
  • 自定义QComboBox解决QCombobox设置样式并与QDateTime一起使用时候弹出选项乱跳
    头文件:#pragmaonce#include<QToolButton>#include<QListView>#include<QWidgetAction>#include<QPushButton>#include<QHBoxLayout>#include<QMenu>#include<QStandardItemModel>#include<qdebug.h>classCustomCo......
  • k8s prometheus监控自定义exporter接口
    案例1:我有的k8s中所有pod应用资源监控接口是/actuator/prometheus,但是默认prometheus监控的是/metrics,这是需要修改prometheus-server的configmap,修改抓取资源监控的api接口需要找到kubernetes-service-endpoints这一项,然后找到action:replace,然后添加replacement案例2:如果......
  • 如何自定义配置
    IConfigurationSource  build()方法IConfigurationProvider1usingCSRedis;2usingMicrosoft.Extensions.Configuration;3usingMicrosoft.Extensions.Primitives;4usingSystem;5usingSystem.Collections.Generic;6usingSystem.Text;78namespac......
  • Angular Material 17+ 高级教程 – Custom Themes (自定义主题) for Material Design
    前言AngularMaterialv17.2.0发布了MaterialDesign3Theme   上一篇 AngularMaterial17+高级教程–GetStarted下一篇TODO想查看目录,请移步 Angular17+高级教程–目录......