我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spring JdbcTemplate.queryForList()

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spring JdbcTemplate.queryForList()

在本文中,我们将学习使用JdbcTemplate.queryForList() 方法。queryForList()方法执行给定的 SQL 并返回结果List 对象。
queryForList()方法通过以下方式接受参数。
1. 

List> queryForList(String sql) throws DataAccessException 

执行给定的静态查询并返回一个列表。它使用 JDBC Statement语句,而不是 PreparedStatement。结果列表包含映射。一个映射实例表示一行,其中映射键是列名,映射值是列值。
2.

 List queryForList(String sql, Class elementType) throws DataAccessException 

执行给定的静态查询并返回一个列表。它使用 JDBC Statement语句,而不是PreparedStatement。结果列表包含给定元素类型的元素。
3.

 List queryForList(String sql, Class elementType, @Nullable Object... args) throws DataAccessException 

给定 SQL 的查询从 SQL 创建预准备语句和要绑定到查询的参数列表,需要结果列表。结果列表包含给定元素类型的元素。
4.

List> queryForList(String sql, @Nullable Object... args) throws DataAccessException 

查询给定的 SQL 从 SQL 创建预准备语句和要绑定到查询的参数列表,期望结果列表。结果列表包含映射。一个映射实例表示一行,其中映射键是列名,映射值是列值。
5.

List> queryForList(String sql, Object[] args, int[] argTypes) throws DataAccessException 

给定 SQL 的查询从 SQL 创建预准备语句和要绑定到查询的参数列表,需要结果列表。结果列表包含映射。一个映射实例表示一行,其中映射键是列名,映射值是列值。
6.

 List queryForList(String sql, Object[] args, int[] argTypes, Class elementType) throws DataAccessException 

给定 SQL 的查询从 SQL 创建预准备语句和要绑定到查询的参数列表,需要结果列表。结果列表包含给定元素类型的元素。

参数:
sql是要执行的 SQL 查询。
args 是要绑定到查询的参数
argType是参数的SQL类型,即java.sql.Types
elementType 是结果列表中必需的元素类型

返回
它返回对象List 。

抛出:
如果查询失败,则会引发DataAccessException。
 

使用Spring Boot的示例

PersonDAO.java

package com.concretepage;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.stereotype.Repository;@Repositorypublic class PersonDAO {    @Autowired    private JdbcTemplate jdbcTemplate;    // queryForList(String sql)    public List getAllPersons() {        String sql = "select * from person";        List> list = jdbcTemplate.queryForList(sql);        List plist = new ArrayList<>();        list.forEach(m -> {            Person p = new Person((String) m.get("name"), (Integer) m.get("age"));            p.setId((Integer) m.get("id"));            plist.add(p);        });        return plist;    }    // queryForList(String sql, Class<T> elementType)    public List getAllNames() {        String sql = "select name from person";        List list = jdbcTemplate.queryForList(sql, String.class);        List plist = new ArrayList<>();        list.forEach(name -> plist.add(name));        return plist;    }    // queryForList(String sql, Class<T> elementType, Object... args)    public List getIdsByNameNAge1(String name, int age) {        String sql = "select id from person where name = ? and age = ?";        List list = jdbcTemplate.queryForList(sql, Integer.class, name, age);        List plist = new ArrayList<>();        list.forEach(id -> plist.add(id));        return plist;    }    // queryForList(String sql, Object... args)    public List getPersonsByNameNAge1(String name, int age) {        String sql = "select * from person where name = ? and age = ?";        List> list = jdbcTemplate.queryForList(sql, name, age);        List plist = new ArrayList<>();        list.forEach(m -> {            Person p = new Person((String) m.get("name"), (Integer) m.get("age"));            p.setId((Integer) m.get("id"));            plist.add(p);        });        return plist;    }    // queryForList(String sql, Object[] args, int[] argTypes)    public List getPersonsByNameNAge2(String name, int age) {        String sql = "select * from person where name = ? and age = ?";        Object[] args = {name, age};        int[] argTypes = {java.sql.Types.CHAR, java.sql.Types.INTEGER};        List> list = jdbcTemplate.queryForList(sql, args, argTypes);        List plist = new ArrayList<>();        list.forEach(m -> {            Person p = new Person((String) m.get("name"), (Integer) m.get("age"));            p.setId((Integer) m.get("id"));            plist.add(p);        });        return plist;    }    // queryForList(String sql, Object[] args, int[] argTypes, Class<T> elementType)    public List getIdsByNameNAge2(String name, int age) {        String sql = "select id from person where name = ? and age = ?";        Object[] args = {name, age};        int[] argTypes = {java.sql.Types.CHAR, java.sql.Types.INTEGER};        List list = jdbcTemplate.queryForList(sql, args, argTypes, Integer.class);        List plist = new ArrayList<>();        list.forEach(id -> plist.add(id));        return plist;    }}

Person.java

package com.concretepage;public class Person {    private int id;    private String name;    private int age;    public Person(String name, int age) {        this.name = name;        this.age = age;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public int getAge() {        return age;    }    @Override    public String toString() {        return id + " - " + name + " - " + age;    }}

application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/concretepage?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaispring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

pom.xml

    4.0.0    com.concretepage    soap-ws    0.0.1-SNAPSHOT    jar    spring-demo    Spring Demo Application            org.springframework.boot        spring-boot-starter-parent        2.7.4                        17                            org.springframework.boot            spring-boot-starter                            org.springframework.boot            spring-boot-starter-jdbc                            mysql            mysql-connector-java            8.0.30                                                    org.springframework.boot                spring-boot-maven-plugin                        

MyApplication.java

package com.concretepage;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ApplicationContext;@SpringBootApplicationpublic class MyApplication {    public static void main(String[] args) {        ApplicationContext ctx = SpringApplication.run(MyApplication.class, args);        PersonDAO personDAO = ctx.getBean(PersonDAO.class);        System.out.println(personDAO.getAllPersons()); // [1 - Rakesh - 30, 2 - Mohan - 25, 3 - Mohan - 25]        System.out.println(personDAO.getAllNames()); // [Rakesh, Mohan, Mohan]        System.out.println(personDAO.getIdsByNameNAge1("Mohan", 25)); // [2, 3]        System.out.println(personDAO.getPersonsByNameNAge1("Mohan", 25)); // [2 - Mohan - 25, 3 - Mohan - 25]        System.out.println(personDAO.getPersonsByNameNAge2("Mohan", 25)); // [2 - Mohan - 25, 3 - Mohan - 25]        System.out.println(personDAO.getIdsByNameNAge2("Mohan", 25)); // [2, 3]    }}

查找我们的演示中使用的 MySQL 表(人)屏幕截图。

参考

类 Jdbc 模板

下载源代码

spring-jdbctemplate-queryforlist.zip

来源地址:https://blog.csdn.net/allway2/article/details/127603759

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Spring JdbcTemplate.queryForList()

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

spring、spring MVC和spring Boot是什么

这篇文章主要介绍“spring、spring MVC和spring Boot是什么”,在日常操作中,相信很多人在spring、spring MVC和spring Boot是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
2023-06-05

Spring MVC 详解 (Spring Boot)

Spring MVC 详解 - Spring Boot 一、什么是 Spring MVC1.1 MVC 定义1.2 MVC 和 Spring MVC 的关系1.3 学习目的 二、Spring MVC 创建和连接2.1 创建 Sp
Spring MVC 详解 (Spring Boot)
2023-12-22

Spring Cloud 关于:Spring Cloud Netflix Hystrix

  服务短路(CircuitBreaker)  QPS:Query Per Second  TPS:Transaction Per Second  QPS:经过全链路压测,计算单机极限QPS,集群QPS=单机PQS*集群机器数量*可靠性比率
2023-06-02

Spring Security3

项目用户权限备用,From:http://www.blogjava.net/SpartaYew/archive/2011/05/19/SpingSecurity3.html 使用Spring Security3的四种方法概述    那么在S
2023-01-31

Spring中Spring Boot与Spring MVC的核心概念是什么

这篇文章主要介绍了Spring中Spring Boot与Spring MVC的核心概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring中Spring Boot与Spring MVC的核心概念是什
2023-06-29

Spring Boot中怎么使用Spring MVC

本篇内容主要讲解“Spring Boot中怎么使用Spring MVC”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Boot中怎么使用Spring MVC”吧!1.MVCMVC 是
2023-07-06

【Spring】Spring的Bean的生命周期

作者简介:大家好,我是五度鱼,一个普通的Java领域博主,不停输出Java技术博客和干货。座右铭:锲而不舍,金石可镂。个人主页:五度鱼学Java的主页 文章目录 前言1. 什么是Bean的生命周期?2. 为什么要知道Bean
2023-08-17

Spring Boot Sample 024之spring-boot-data-influxdb

一、环境Idea 2020.1JDK 1.8maven二、目的spring boot 通过整合influxdbgitHub地址: https://github.com/ouyushan/ouyushan-spring-boot-samples三、步骤3.1、点

	Spring Boot Sample 024之spring-boot-data-influxdb
2018-10-02

Spring boot和Spring有什么不同

这篇文章将为大家详细讲解有关Spring boot和Spring有什么不同,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Spring Boot 简介spring框架功能很强大,但是就算是一个
2023-05-31

Spring Boot跟Spring Cloud是什么关系

这篇文章主要讲解了“Spring Boot跟Spring Cloud是什么关系”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Boot跟Spring Cloud是什么关系”吧!S
2023-06-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录