JdbcTemplate防注入的几种方式

2023-11-03

使用数组

public void deleteItemByName(String name) {

            Object[] obj = new Object[] { name};

            String sql = "DELETE FROM t_item WHERE name = ? ";

            jdbcTemplate.update(sql, obj);

 }

使用List最后转成Array

public void updateCompanyInfo(TCompany tCompany) {

            List<Object> params = new ArrayList<Object>();

            params.add(tCompany.getMobile());

            params.add(tCompany.getAddress());

            params.add(tCompany.getEmail());

            params.add(tCompany.getId() );

            String sql = " update T_COMPANY set mobile = ? , address = ? , email = ? where id = ? ";

            logger.info("sql:"+ sql);

            logger.info("param:"+ params.toString());

            jdbcTemplate.update(sql, params.toArray());  

        }

使用map

public List<Map<String, Object>> hasCompanyItemSize(String companyName, String deviceTypeIds, String stationPoliceIds) {

            Map<String,Object> params = new HashMap<String,Object>();

            params.put("companyName", companyName);

            String dynamicParam = dynamicJDBCDaoParamUtil.dynamicHasCompanyItem(deviceTypeIds, stationPoliceIds, params);

            String sql = " select * from t_company_item tci where 1=1   and tci.COMPANY_NAME != :companyName " + dynamicParam;

            logger.info("sql:"+ sql);

            logger.info("_param:"+ params.toString());

           return namedTemplate.queryForList(sql , params);

        }

使用javaBean

public List<Child> beanParam(){

        String sql = "select c.child_id childId,c.child_name,c.child_age childAge,c.parent_id parentId from child c";

        sql += " where c.child_age=:childAge and c.parent_id =:parentId ";

        sql += " and c.child_name in(:names)";

        ParamBean bean = new ParamBean();

        bean.setChildAge(childAge);

        bean.setParentId(parentId);

        bean.setNames(names);

        SqlParameterSource param = new BeanPropertySqlParameterSource(bean);

        return namedTemplate.query(sql,param,new BeanPropertyRowMapper<Child>(Child.class));

    }

 

其他

public List<Map<String, Object>> queryCompany(String companyName) {

            String sql = " select * from t_company tc where 1=1   and tc.COMPANY_NAME like  '%'|| ? ||'%'  ";

            return namedTemplate.queryForList(sql , companyName == null ? "");

        }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JdbcTemplate防注入的几种方式 的相关文章

  • 图生图—AI图片生成Stable Diffusion参数及使用方式详细介绍

    本文为博主原创文章 未经博主允许不得转载 本文为专栏 Python从零开始进行AIGC大模型训练与推理 系列文章 地址为 https blog csdn net suiyingy article details 130169592 Stab
  • Xshell和Xftp的安装与使用教程

    软件安装环境 windows7 64 下载最新软件官方地址 http www netsarang com download main html 一 下载步骤 1 点击相应要下载软件的链接 2 点击下面链接中的任意一个 3 如图 4 查收对方
  • VirtualBox Pwn x64 ubuntu 22.04

    链接 https pan baidu com s 1zab8YHwnULmEXjYaD ERfw pwd 9999 提取码 9999
  • 计算机程序的构造和解释习题3.33

    计算机程序的构造和解释习题3 33 SICP Exercise 3 33 This is similar as the celsius fahrenheit converter procedure plain view plaincopy
  • 解决u盘中病毒后如何文件被隐藏的问题

    优盘往实验室的打印机电脑上查了一插 结果就中了病毒 原来优盘里面的文件全部不可见 一开始我以为只是隐藏了 所以我就打开优盘以后更改设置 显示隐藏文件和隐藏文件夹 结果仍然不可见 也试过了网上的写脚本 无果 后来突然灵机一动 找到了解决方法
  • sklearn函数汇总

    Python笔记 sklearn函数汇总 Summer Memories 关注他 28 人 赞同了该文章 1 拆分数据集为训练集和测试集 from sklearn model selection import train test spli
  • Python自动化测试框架有哪些?

    常用的Python自动化测试框架有Robot Framework Pytest UnitTest PyUnit Behave Lettuce 软件测试的自动化在预设条件下运行系统或应用程序 评估运行结果 预先条件应包括正常条件和异常条件 自
  • gpu cpu 共享内存 提高传输速度_AMD扩展Infinity Fabric总线技术 CPU与GPU之间终于共享内存了...

    在AMD的锐龙处理器架构中 Infinity Fabric 以下简称IF 总线是个核心技术 有了它才可以让众多CCX模块互联互通 之前IF总线主要用于CPU核心之间连接 现在AMD终于开始用于EPYC CPU与Radeon显卡了 在OGHP
  • windows进程间通信

    摘 要 随着人们对应用程序的要求越来越高 单进程应用在许多场合已不能满足人们的要求 编写多进程 多线程程序成为现代程序设计的一个重要特点 在多进程程序设计中 进程间的通信是不可避免的 Microsoft Win32 API提供了多种进程间通
  • 引发的异常:“System.BadImageFormatException”(位于 halcondotnet.dll 中)

    System BadImageFormatException 类型的未经处理的异常在 halcondotnet dll 中发生 问题描述 解决办法 问题描述 报错信息如下 System BadImageFormatException 试图加
  • 一篇专题让你秒懂GCD死锁问题!

    一篇专题让你秒懂GCD死锁问题 阐述 1 什么是GCD GCD 全称 Grand Central Dispatch 可翻译为 牛逼的中枢调度器 它是纯C语言的 提供了非常多强大的函数 Grand是宏伟的 极重要的意思 GCD是提供了功能强大
  • 一个VSCode便可以免费画ER图

    为了找到一款好用的er图工具 我基本上把能用的途径都看了个遍 最后 好家伙不是收费就是要下载各式各样 大小不一的软件 下也就算了 还要收费 不收费就限制节点啊什么的 反正搞得是那个上火啊 为了帮助大家闭坑 特意写此博客 其实VScode就可
  • Buffer类的详解(转)

    这篇蚊帐转自 http zachary guo iteye com blog 1457542 作者写的非常好 是我看到的写nio最好的几篇蚊帐 但原文中有一些错误 还有我自己对这方面的一些理解 在这里一并更改了 Buffer 类是 java
  • 2023年交通与智慧城市国际会议(ICoTSC 2023)

    2023年交通与智慧城市国际会议 ICoTSC 2023 重要信息 会议网址 www icotsc org 会议时间 2023年7月28 30日 召开地点 长沙 截稿时间 2023年6月15日 录用通知 投稿后2周内 收录检索 EI Sco
  • ERROR: Failed building wheel for mayavi

    conda虚拟环境中安装mayavi 提示错误 Numpy is required to build Mayavi correctly please install it first ERROR Failed building wheel
  • Java Web快速开发(2~4)Java 基本程序结构、类、继承和接口

    文章目录 二 Java基本程序结构 1 数据类型 2 运算符 3 循环语句 三 类 四 继承和接口 1 多态 2 抽象类 3 接口定义 4 接口增强 5 clone 实现的只是浅拷贝 二 Java基本程序结构 1 数据类型 2 运算符 3
  • Android 全局手势识别原理

    本文是对全局手势识别进行分析 那什么是全局手势呢 简单来说就是在任何界面都需要识别的手势 比如 在任何界面从手机屏幕左侧滑动 当前的界面会退出 类似 back 键 我们知道 在 Android 系统中一个 Activity 在显示时 当对屏
  • 关于程序员35岁的坎:年龄不是挡板,当你匹配了这个年纪该有的能力还有什么畏惧!

    前言 关于程序员干到35岁 会不会失业或者是说35岁的坎 这里我分享一篇不错的文章 希望能给大家带来一些帮助和思考 本文可能可以适用到其他端 不过由于自己是一名 Android 开发工程师 所以就姑且从一名普通的 Android 开发工程师

随机推荐

  • 使用jsp+servlet实现留言板(学习使用)

    1 前端jsp页面 1 1前端总体代码
  • 数据治理体系完整指南(值得收藏)

    01 数据治理之数据资产管理 数据资产与数据资产管理的定义 随着大数据时代的到来 人们已经认识到数据是一种无形的宝贵资产 谷歌 Facebook 阿里巴巴 腾讯等企业市值高达数千亿美元 不仅在于其独特的商业模式和市场垄断地位 更多的估值是给
  • 虚拟服务器转移到实体服务器,虚拟主机转移到云服务器

    虚拟主机转移到云服务器 内容精选 换一换 场景描述绑定到云服务器上 实现云服务器连接公网的目的 搭配服务弹性云服务器ECS或裸金属服务器 虚拟私有云绑定云服务器实例场景描述NAT网关通过与弹性公网IP绑定 可以使多个云主机 弹性云服务器 裸
  • APP内存泄漏导致崩溃测试实践

    内存泄漏崩溃原因 由于程序运行后没有及时回收无用对象 导致系统没有足够内存分配新对象 会引起APP崩溃 Android的GC机制 Android GC机制沿用了java的GC机制 当需要新内存去分配对象的时候而剩余不够的时候 会触发GC 把
  • for循环中,外循环1000、内循环100和外循环100、内循环1000哪个性能更高?

    1 直接上代码 public class Demo public static void main String args System out println firstTime Demo first 毫秒 255毫秒 System ou
  • laravel+element-ui+vue 搭建详细教程

    1 可用composer安装laravel框架项目 composer create project laravel laravel myblog 安装完成进入项目 cd myblog 2 安装前端资源和编译 npm install npm
  • 服务器监控功能(3种方案)

    服务器监控功能 3种方案 一 Actuator监控 1 添加依赖 2 application yaml配置 3 启动项目 访问 二 SpringBoot Admin 单体 1 Admin Server 端 2 Admin Client 端
  • android studio 安装说明

    转自 http www cnblogs com liuhongfeng archive 2015 12 30 5084896 html 1 下载android studio 含SDK版本 http www android studio or
  • node.js buffer的使用场景和方法及stream的应用

    buffer是什么 Node中 应用需要处理网络协议 操作数据库 处理图片 接收上传文件等 在网络流和文件的操作中 还要处理大量二进制数据 JavaScript自有的字符串远远不能满足这些需求 于是Buffer对象应运而生 Buffer作为
  • Java事务

    事务的ACID 1 原子性 原子性是说将事务看成一个整体 一个不可分割的单位 操作时要么同时成功 要么同时失败 2 一致性 一致性是指事务的前后数据的完整性保持一致 3 隔离性 隔离性是指多个用户并发访问数据库时 数据库给每一个用户开启一个
  • 什么是UTXO?

    经常看到区块链技术中提及UTXO 究竟什么是UTXO呢 个人技术公众号 解决方案工程师 欢迎同领域的朋友关注 相互交流 搜索了半天 讲的都不太好理解 尤其是不明白UTXO比现在的记账方式有哪些优势 集百家之长 成一家之言 我来通俗地讲一讲吧
  • 网络安全(黑客技术)0基础学习手册

    目录梗概 一 自学网络安全学习的误区和陷阱 二 学习网络安全的一些前期准备 三 网络安全学习路线 四 学习资料的推荐 想自学网络安全 黑客技术 首先你得了解什么是网络安全 什么是黑客 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红
  • 用html+js实现一个简单的登录窗口

    文章目录 绘制UI界面 了解text文本框属性 UI界面效果 绘制登录后界面 实现登录验证脚本 运行效果 绘制UI界面 首先我们绘制出基本的不带功能的ui界面 这个界面需要创建一个表单 表单内包含一个username文本框 一个passwo
  • (六十六)支持向量机

    SVM的原理 SVM模型是将实例表示为空间中的点 这样映射就使得单独类别的实例被尽可能宽地明显间隔分开 然后将新的实例映射到同一空间 并基于它们落在间隔的哪一侧来预测所属类别 除了进行线性分类之外 SVM还可以使用所谓的核技巧有效地进行非线
  • java获取resource下的文件路径

    放了文件在 resources 目录下 只想拿到它的路径 详情如下 String path xxx class getClassLoader getResource targetFile txt getPath java获取文件目录 pom
  • 上网被阻断未经pppoe认证_Pppoe协议多运营商接入共用链路的方法

    Pppoe协议多运营商接入共用链路的方法 技术领域 0001 本发明属于计算机技术领域 具体涉及PPPOE协议多运营商接入共用链路方法 技术背景 0002 PPPOE 以太网上的点到点连接协议 认证目前大规模地应用于电信运营商的ADSL接入
  • 不拆无损,在北汽EU5,EU7,EX3,EX7安装app应用

    本文是破解过程 仅供学习参考 如果您只是安装软件 请直接看https blog csdn net robinhunan article details 105963936 这篇文章就可以了 app安装仅需要一个U盘 不需要输入任何命令 即可
  • RV1126 isp开发文档记录

    Rockchip IQ Tools Guide ISP2x v1 3 pdf 主要介绍 RKISP2 x Tuner 以下简称 Tuner 提供了一套便于用户调试 ISP 参数的工具 用户可以在 Tuner 中对所有 ISP 模块开展标定
  • Redis沙盒逃逸漏洞(CVE-2022-0543)复现以及流量特征分析

    Redis简介 Redis Labs Redis是美国Redis Labs公司的一套开源的使用ANSI C编写 支持网络 可基于内存亦可持久化的日志型 键值 Key Value 存储数据库 并提供多种语言的API 漏洞介绍 Redis 存在
  • JdbcTemplate防注入的几种方式

    使用数组 public void deleteItemByName String name Object obj new Object name String sql DELETE FROM t item WHERE name jdbcTe