广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Spring JdbcTemplate.queryForList()
  • 207
分享到

Spring JdbcTemplate.queryForList()

springjavasql 2023-10-10 08:10:00 207人浏览 八月长安
摘要

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

在本文中,我们将学习使用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

--结束END--

本文标题: Spring JdbcTemplate.queryForList()

本文链接: https://www.lsjlt.com/news/426846.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Spring JdbcTemplate.queryForList()
    在本文中,我们将学习使用JdbcTemplate.queryForList() 方法。queryForList()方法执行给定的 SQL 并返回结果List 对象。 queryForList()方法通过以下方式接受参数。1.  List...
    99+
    2023-10-10
    spring java sql
  • spring、spring MVC和spring Boot是什么
    这篇文章主要介绍“spring、spring MVC和spring Boot是什么”,在日常操作中,相信很多人在spring、spring MVC和spring Boot是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-06-05
  • Spring和Spring Boot区别
    spring和spring boot区别 二者主要区别是: Spring Boot提供极其快速和简化的操作,让 Spring 开发者快速上手。 Spring Boot提供了 Spring 运行的默认配置。 Spring Boot为通用 Sp...
    99+
    2023-09-05
    spring boot spring java 区别
  • Spring MVC 详解 (Spring Boot)
    Spring MVC 详解 - Spring Boot 一、什么是 Spring MVC1.1 MVC 定义1.2 MVC 和 Spring MVC 的关系1.3 学习目的 二、Spring MVC 创建和连接2.1 创建 Sp...
    99+
    2023-12-22
    spring mvc spring boot java 后端
  • Spring和Spring Boot的区别
    🏆今日学习目标: 🍀Spring和Spring Boot的区别 ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页  🍁林在闪闪发光的...
    99+
    2023-09-02
    spring boot spring java
  • Spring Boot与Spring MVC Spring对比及核心概念
    目录一、SpringBoot、SpringMVC、Spring对比Spring框架SpringMVCSpringBoot二、SpringBoot自动配置三、什么是SpringBoot...
    99+
    2022-11-13
  • Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
    一、前言 在搭建SpringCloud项目环境架构的时候,经常需要选择SpringBoot和SpringCloud进行兼容的版本号。因此,对于选择SpringBoot版本与SpringCloud版本的...
    99+
    2023-10-09
    spring boot spring cloud java
  • 【Spring Boot】Spring—加载监听器
    这里写目录标题 前言加载监听器执行run方法加载配置文件封装Node调用构造器思考 前言 前几天的时候,项目里有一个需求,需要一个开关控制代码中是否执行一段逻辑,于是理所当然的在yml...
    99+
    2023-09-27
    spring boot spring java
  • Spring Cloud 关于:Spring Cloud Netflix Hystrix
      服务短路(CircuitBreaker)  QPS:Query Per Second  TPS:Transaction Per Second  QPS:经过全链路压测,计算单机极限QPS,集群QPS=单机PQS*集群机器数量*可靠性比率...
    99+
    2023-06-02
  • Spring中Spring Boot与Spring MVC的核心概念是什么
    这篇文章主要介绍了Spring中Spring Boot与Spring MVC的核心概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring中Spring Boot与Sp...
    99+
    2023-06-29
  • LocalContainerEntityManagerFactoryBean spring
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingConte...
    99+
    2022-10-18
  • 【Spring Bean】
    1、介绍 当谈到Spring框架时,"bean"通常是指在Spring IoC容器中管理的对象,它是一个被实例化、组装和管理的Java对象。Spring框架通过IoC容器创建和管理这些bean,这意味...
    99+
    2023-09-01
    spring java servlet
  • Spring Security3
      项目用户权限备用,From:http://www.blogjava.net/SpartaYew/archive/2011/05/19/SpingSecurity3.html 使用Spring Security3的四种方法概述     ...
    99+
    2023-01-31
    Spring
  • 【Spring】Spring的Bean的生命周期
    作者简介:大家好,我是五度鱼,一个普通的Java领域博主,不停输出Java技术博客和干货。座右铭:锲而不舍,金石可镂。个人主页:五度鱼学Java的主页 文章目录 前言1. 什么是Bean的生命周期?2. 为什么要知道Bean...
    99+
    2023-08-17
    java Bean生命周期 spring
  • Spring Boot Sample 024之spring-boot-data-influxdb
    一、环境 Idea 2020.1 JDK 1.8 maven 二、目的 spring boot 通过整合influxdb gitHub地址: https://github.com/ouyushan/ouyushan-spring-boo...
    99+
    2018-10-02
    Spring Boot Sample 024之spring-boot-data-influxdb 数据库入门 数据库基础教程 数据库 mysql
  • Spring之spring-context-indexer依赖详解
    目录Spring spring-context-indexer依赖配置springboot启动时自动打开浏览器 spring-context-indexer原理spring-cont...
    99+
    2022-11-12
  • Spring boot和Spring有什么不同
    这篇文章将为大家详细讲解有关Spring boot和Spring有什么不同,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Spring Boot 简介spring框架功能很强大,但是就算是一个...
    99+
    2023-05-31
    spring spring boot spring boo
  • Spring Boot中怎么使用Spring MVC
    本篇内容主要讲解“Spring Boot中怎么使用Spring MVC”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Boot中怎么使用Spring&n...
    99+
    2023-07-06
  • Spring Boot跟Spring Cloud是什么关系
    这篇文章主要讲解了“Spring Boot跟Spring Cloud是什么关系”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Boot跟Spring Cloud是什么关系”吧!S...
    99+
    2023-06-05
  • spring @Primary-在spring中的使用方式
    spring @Primary在spring的使用 在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作