首页 > 数据库 >java springboot mybatis plus 3.4 实现执行任意 sql 语句

java springboot mybatis plus 3.4 实现执行任意 sql 语句

时间:2023-03-08 17:33:13浏览次数:47  
标签:java springboot int resultSet 3.4 sql var

试了 SqlRunner 一直失败,不知道原因,于是试了如下方法,完美解决。

@Autowired
    private SqlSessionFactory sqlSessionFactory;

public List<Map<String, Object>> executeSql(String sql) throws SQLException {
        try(var sqlSession = sqlSessionFactory.openSession();)
        {
            try(var connection = sqlSession.getConnection();)
            {
                List<Map<String, Object>> resultList = new ArrayList<>();
                var statement = connection.createStatement();
                var resultSet = statement.executeQuery(sql);

                var metaData = resultSet.getMetaData();
                int columnCount = metaData.getColumnCount();

                while (resultSet.next()) {
                    Map<String, Object> rowMap = new HashMap<>();
                    for (int i = 1; i <= columnCount; i++) {
                        String columnName = metaData.getColumnLabel(i);
                        Object columnValue = resultSet.getObject(i);
                        rowMap.put(columnName, columnValue);
                    }
                    resultList.add(rowMap);
                }
                return resultList;
            }
        }
    }

 

标签:java,springboot,int,resultSet,3.4,sql,var
From: https://www.cnblogs.com/nanfei/p/17195451.html

相关文章

  • 【JavaScript】38_对象的序列化----JSON
    3、对象的序列化对象的序列化JS中的对象使用时都是存在于计算机的内存中的序列化指将对象转换为一个可以存储的格式在JS中对象的序列化通常是一个对象转换为字符串(JSON字......
  • java动态代理
    1️⃣首先创建需要的接口以及对应实现类来测试代理模式(动态代理)      2️⃣创建动态代理类,去帮我代理一些接口   3️⃣创建一个获取代理对象的工厂 ......
  • java HashMap集合练习之键是String值是Student
           ......
  • SpringBoot上传文件夹的三种解决方案
    ​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用......
  • java 列表查询
    最常用的便是for循环查询:for(StudentRecordrecord:records){if(record.getYear()==yearSearch){System.out.println(record.getId()+""+record.g......
  • 【配置中心】springboot2.x 整合 zuul
    背景本来是一件很简单的事情,就是想在配置中心添加一层认证,但还是搞得很麻烦,麻烦到要专门做一篇小记来记录一下这坎坷的过程。是这样子的,原来的项目:springboot1.x+zuul......
  • java 学生管理系统(案例)25
      packagecom.demo.studer;publicclassstu{privateStringid;privateStringname;privateintage;privateStringbirthday;pub......
  • java代码审计-SSRF
    0x00前言SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图......
  • java8 Optional判空使用
    1Optional.ofNullable(值1).orElse(值2)ViewCode作用:用来判断对象是否为空,空执行值2,不空执行值1坑---如果值2是一个方法,即使值1不为空,值2也会被执行。解决办法:可......
  • JAVA (Spring Boot)数据AES加密解密
    packagecom.example.controller;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.client.RestTemplate;importjavax......