jdbcTemplate queryForMap与queryForList区别

关于jdbcTemplate.queryForMap报错异常 问题很头疼 报错为org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 这样查询返回null是有异常的,查询有数据不会报错,没数据就会报错 public Map<String, Object> queryNewAlarm(Integ... 阅读详情

前言

  在我们用java程序和数据库进行数据交换时,在数据访问层(也就是常用的dao层)
  常常会用到orm( Object Relational Mapping) 框架 如 mybatis(半自动) ,hibernate
  用的工具会有 通用Mapper ,sprigdataJpa 以及原生的jdbcTemplate

为什么要用这个jdbcTemplate

1.首先项目里面肯定会有选一种orm 框架,有时避免不了和原生一起用
2.原生的用起来挺方便的
3.多表联查或者复杂查询时,原生的执行效率还是有优势的

如何获取

1.spring进行了封装可以直接注入
2.可以自己封装
3.从工厂容器中去

常用方法

1.jdbcTemplate.queryForMap(String sql)
注意点 :
a. sql 必须能查到数据,不能为 null
b. sql 必须能查到数据, 而且仅有一条
c. 使用时最好捕捉一下异常,try catch
d. 返回取值的key, 就是查询列的字段
example:
String sql = " select a.name as title ,a.age ,a.money from table a";
Map<String,Object> dataMap = jdbcTemplate.queryForMap(sql);
取name值时 : dataMap .get(“title”); 非原字段名
取age值时 : dataMap.get(“age”); 此时取的是原字段
e. 取值是最好是用小写,因为有的项目支持的数据种类多,写的有适配,如 mysql,oracle,plsql,Dm(国产),用大写会导致程序报错

2.jdbcTemplate.queryForList(String sql)
个人是比较倾向于使用这个查这个方法,它查出来是一个集合,没有什么要求,取值前只需要对查询List.size()进行简单的判断即可,然后循环遍历,取值如上。

     谢谢,欢迎指教。
使用菱FX5U系列PLC实现以太网通信的具体方法示例 接下来,我们将创建一个简单的CPU通信功能,以实现与其他设备的以太网通信。在上述代码中,我们首先设置访问号,然后创建一个数据读取命令(M_READ)和一个数据写入命令(M_WRITE)。此外,在实际应用中,您还需要确保PLC和其他设备之间的网络连接正常,并且遵循相应的通信协议。在上述代码中,我们执行了数据读取命令,并将接收到的响应存储在M_RESPONSE变量中。通过简单CPU通信功能,菱FX5U系列PLC可以实现与其他设备的以太网通信。我们将提供相应的源代码和详细的说明,以帮助您轻松实现这一功能。 阅读详情

相关推荐

[前沿技术] AMD FSR 1.0源码解析:EASU算法实现细节与优化策略

本文深入解析了AMD FSR 1.0技术的核心——EASU(边缘自适应空间升频)算法。通过剖析其源码,详细阐述了EASU如何利用12-tap采样窗口、基于Lanczos滤波器的多项式近似以及自适应的边缘检测机制,在无需AI模型的情况下实现高质量图像放大。文章重点揭示了其极致的GPU优化策略,包括寄存器利用、采样优化和避免动态分支,为理解高性能图形算法提供了绝佳范例。

docker7nomad的博客 541

Spring JdbcTemplate.queryForMap()

在本文中,我们将学习JdbcTemplate.queryForMap使用方法。它执行给定的SQL,将查询与给定的参数绑定。查询应为单行查询。此方法返回结果为Map。JdbcTemplate.queryForMap期望参数如下。执行静态 SQL 并返回Map。此方法使用 JDBC Statement,而不是 PreparedStatement。查询应为单行查询。结果将映射到 Map。列名是Map的键和列值是该Map键的值。

allway2的博客 6299

自制电吉他效果器 DIY PCB(二)电路图分析

自制DIY电吉他效果器 PCB(二)电路图分析 要自制一款效果器,看懂电路图是必须的,即使你已经有了完整的设计电路图,在电路的绘制已久焊接的时候电路知识都会用到。 在效果器电路中,比较简单的是过载失真类效果器的电路。混响延迟等与声相有关的由于电路比较复杂本人也没有尝试过。其他的例如EQ、哇音等等效果器复杂程度依设计各不相同,在能做出过载失真类效果器后,可以自行尝试。 我这里主要为大家介绍失真效果器...

qq_41342525的博客 2万+

JDBC Template

       JDBC Template是Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发        使用jdbc的步骤如下: 创建JdbcTemplate对象。依赖于数据源DataSource JdbcTemplate template = new JdbcTemplate(ds); 2. 调用JdbcTemp

qq_38721353的博客 746

Windows下MMdetection3D保姆级安装指南(含CUDA和PyTorch版本避坑)

本文提供Windows平台下MMdetection3D的完整安装指南,重点解决CUDA与PyTorch版本匹配问题。从环境准备到关键组件安装,详细介绍了CUDA Toolkit选择策略、PyTorch精准安装步骤,以及MM系列组件的安装顺序和常见错误解决方案,帮助用户顺利完成3D目标检测环境的配置。

weixin_42628941的博客 493

FFTW库安装与使用(3.3.5版本)

FFTW库安装与使用一、FFTW库介绍与下载二、FFTW库安装三、FFTW库测试 一、FFTW库介绍与下载   FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. Johnson 开发。可计算一维或多维实和复数据以及任意规模的DFT,且运行速度比Eigen和opencv自带的FFT库函数快10倍以上。   下载链接:http://www.fftw.org/install/wind

Jhon_ranble的博客 2万+

Jdbctemplate中query、queryForObject、queryForList、queryForMap方法使用

程序猿的成长其实是很苦逼的,怎么说呢,就是一路打怪升级,当遇到好多怪都打不动了,那么也就无法升级了;或者说就是不断入坑出坑的过程,一旦一个或多个坑都无法跳出来,也就over了。 最近工作中这个jdbctemplate中方法的使用问题就遇到过2次基本相同的问题,一次是自己遇到,一次是同事问我时;md,还是赶快跳出这个坑吧,只能认真研究总结下了。 Jdbctemplate...

dhklsl的专栏 1万+

数字信号处理实验:信号谱分析与FFT算法的应用

​ (1)给定信号为 ,其中a为42,b为1。理论分析信号 的频率成分。 (2)分别采用采样频率为 , , , 对 进行采样,其中 , , , ,根据是否满足采样定理要求分析四种采样频率下频谱的分布,在满足采样定理情况下做频谱分析。 (3)任意生成两组有限长信号,对信号分别进行直接卷积和FFT算法求卷积,并分析圆周卷积与线性卷积的关系。

m0_56324525的博客 3203

JdbcTemplate的queryForMap方法报错解析

JdbcTemplate的queryForMap方法报错queryForMap方法使用不当,就会出错,使用方式如下: The queryForMap method in JdbcTemplate only expects a single row to be returned, The return value for this method will be a map of column names to column values for the single result row. que...

后青春的诗 2764

模型训练篇 | 手把手教你使用ResNet训练自己数据集和推理,ResNet50通用物体分类识别,含完整代码和数据集,全网最详细教程

手把手教你使用ResNet训练自己数据集和推理,ResNet50通用物体分类识别,含完整代码和数据集,全网最详细教程。本篇文章将带你学习 ResNet50 模型构建、ResNet50训练自己数据集、数据集处理、推理和验证、模型剪枝与模型改进等。 本篇教程适配各种分类识别任务,可以说是一个通用的教程,只需修改自己的数据集即可完成自己领域的任务和系统实现。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 735

PPT里文字太多如何排版-一口气教你7种布局瞬间让PPT高大上起来

PPT里全是文字且很拥挤怎么办?本篇教你使用7种不同的排版让你的PPT瞬间变得高大上起来。

打造全国最全的AI Agent开发知识领域的博客 5026

JdbcTemplate 、NamedParameterJdbcTemplate、SimpleJdbcTemplate的区别,有需要的朋友可以参考下。

JdbcTemplate 、NamedParameterJdbcTemplate、SimpleJdbcTemplate的区别,有需要的朋友可以参考下。几种常用的jdbctemplate

Z_T_T的博客 771

车企自动泊车技术全解|纯视觉/多传感器融合双路线、端到端大模型革新 助力机械车位/无划线车位/极窄车位精准泊车落地

随着智能驾驶技术全面下沉,自动泊车已从高端车型专属配置,普及至十万级家用车型,成为车载核心刚需功能。但市面主流车企的泊车能力差距极大,核心差异源于传感器硬件架构、算法迭代逻辑、场景训练体系的全方位分化。传统规则式泊车算法仅适配标准划线车位,面对地库暗光、标线磨损、机械双层车位、极窄靠墙车位、无划线空地泊车等真实长尾场景极易失效。

getusushu的博客 108

jdbcTemplate中的queryForList()与queryForMap()

前言 现在的项目开发中对于项目中DAO层的操作一般都是使用ORM开发框架,例如MyBatis或者hibernate等。虽然这些全自动半自动的ORM框架为操作DAO层提供了更加便捷的接口,但是原生的sql操作在一些项目中还是运用广泛。 特别是一些需要连表查询或者是定制化sql语句的操作中原生的sql运用尤其广泛。 jdbcTemplate作为一个原生的sql操作模板,使用较为方便。 但是在今天使用的过程中踩了一个坑,和大家分享一下! 使用场景分析 **需求:**后台有一张表,记录了每天的客户浏览量,标识id,

九岁ya的博客 7206

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Spring JDBC Template ,以及使用preparedstatements传参数

JdbcTemplate 被定义为一个Spring 管理的bean 该bean 是线程安全的,并且可以被不同的数据访问对象所共享,因此被定义为单利,JdbcTemplate 的bean主要依赖项为一个DataSource 对象, 所以,需要把创建的dataSource 对象注入到JdbcTemplat spring 将数据访问的样本代码抽象到模板类中 spring 为JDBC 提供了两种类型...

Sean的博客 9194

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

文章标题

jdbcTemplate1,jdbcTemplate针对数据查询提供了多个重载的模板方法: Int queryForInt(String sql) Int queryForInt(String sql,Object[] args) Long queryForLong(String sql) Long queryForLong(String sql,Object[] args) Object

wenhui的博客 262

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

mysql数据库的了解和使用

mysql数据库的了解和使用

xgq_111的博客 2030

JdbcTemplate的queryForMap方法报错

JdbcTemplate的queryForMap方法报错 queryForMap方法使用不当,就会出错,使用方式如下: The queryForMap method in JdbcTemplate only expects a single row to be returned, The return value for this method will be a map of col...

z69183787的专栏 3万+

Mybatis详解

一、Mybatis概述 SpkMapConfig.XML的核心配置文件 MYSQL语句复习 JDBC的执行流程 queryForObject返回StrIng public <T> queryForObject(String sql,Class<T> requiredType)//执行查询语句,返回一个指定类型的数据 public stati...

风一般的男子·小亮仔 1037

SpringBoot高级篇JdbcTemplate之数据查询上篇

前面一篇介绍如何使用JdbcTemplate实现插入数据,接下来进入实际业务中,最常见的查询篇。由于查询的姿势实在太多,对内容进行了拆分,本篇主要介绍几个基本的使用姿势 queryForMap queryForList queryForObject I. 环境准备 环境依然借助前面一篇的配置,链接如: 190407-SpringBoot高级篇JdbcTemplate之数据插入使用姿势详解 或...

weixin_33920401的博客 925

java jdbc 传参_java语言,jdbcTemplate.queryForMap查询,如何传入两个参数到SQL中

展开全部1、使用Map jdbcTemplate.queryForMap查询,其返回结果e5a48de588b63231313335323631343130323136353331333431356638必须有且只有1个map值,否则会抛出异常。若抛出异常,则肯定不会得到返回值。例如“控制台提示错误Incorrectresultsize:expected1,actual 0”。问题原...

weixin_35817272的博客 1943

java中使用JDBC或者C3P0时,Query,QueryForObject,QueryForMap,QueryForList的用法

在 Java 中使用 JDBC 连接数据库时,queryForList 是 Spring Framework 中 JdbcTemplate 类的一个方法,用于执行查询语句并将结果封装为一个列表(List)的形式返回。这个方法通常用于查询多行记录,并将每行记录的数据以 Map 的形式存储在列表中。query 方法:执行查询并将结果映射到自定义对象中,通常需要实现 RowMapper 接口来进行结果映射。queryForObject 方法:执行查询并返回单个对象,如果结果不唯一或为空会抛出异常。

m0_56666878的博客 1521

jdbc map获取keys_如何使用JDBCTemplate.queryForMap获取Map数据

How to load data from JDBCTemplate.queryForMap() and it returns the Map Interface.How the maintained the query data internally in map.I trying to load but i got below exception i.e., org.springframew...

weixin_39829073的博客 450

iBatis查询API

先说点基础的内容,iBatis并不是真正意义上的ORM,官方文档中称其为dataMapper,是数据映射器,也就是一种映射查询工具。iBatis不是万能的,在某些它不能处理的问题时,不能放弃使用JDBC API,那才是根本中的根本。 在iBatis中,建议使用JavaBean,因为我们是面向对象的设计,那么在系统设计时肯定创建了很多刻画具体对象的类,使用JavaBean...

各研发管理 448

JdbcTemplate 使用总结

主要介绍几种查询的特殊情况 jdbcTemplate.queryForList 如果没有查找到记录 ,会返回一个 size=0 的空集合 , 这主要是因为 在处理查询结果时 List results = this.rowsExpected > 0 ? new ArrayList(this.rowsExpected) : new ArrayList(); 2.jdbcTemplate.queryForMap 必须返回一条记录 ,未查找到记录 或者 查找到多条记录 ,都会报错 int siz

阿狸来了,哇咔咔 906

【JavaWeb】73:JdbcTemplate详细解析

JdbcTemplate竟然只能算是江南七怪级别的

刘小爱的博客 655
上一篇: get 加body体传参
下一篇: Oracle 修改有值字段属性
WindwardBird
博客等级 码龄7年 19粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值