Mybatis总结--传参二

 #叫做占位符

Mybatis是封装的JDBC 增强版 内部还是用的jdbc

每遇到一个#号 这里就会变为?占位符

一个#{}就是对应一个问号 一个占位符

       用这个对象执行sql语句没有sql注入的风险 

八、多个参数-使用@Param

        当 Dao 接口方法有多个参数,需要通过名称使用参数:
                在方法形参前面加入@Param(“自定义参数名 ”)
                mapper 文件使用#{自定义参数名}

8.1、sql映射文件,StudentDao.xml: 
  <select id = "selectMulitParam" resultType="com.lifang.domain.Student">select id,name,email,age from student where name = #{myname} or age = #{myage}</select>
8.2、StudentDao接口:
   public List<Student> selectMulitParam(@Param("myname") String name,@Param("myage") Integer age);
8.3、测试代码及结果:
    @org.junit.Testpublic void test04(){SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class);List<Student> students = dao.selectMulitParam("李四",23);students.forEach(student -> System.out.println(student));}

九、多个参数-使用对象

                使用 java 对象传递参数, java 的属性值就是 sql 需要的参数值。 灵活又方便

         语法格式: #{ property属性名,javaType=java 数据类型的全限定名称,jdbcType=Mybatis定义的数据库中类型的名称 }

         javaType, jdbcType 的类型 MyBatis 可以通过反射获取,一般不需要设置。

         常用格式 #{ property } 

9.1、代表数据的实体类:
public class QueryParam {private String queryName;private Integer queryAge;
9.2、sql映射文件,StudentDao.xml: 
 <select id = "selectMultiObject" resultType="com.lifang.domain.Student">select id,name,email,age from student where name = #{queryName} or age =#{queryAge}</select>
9.3、StudentDao接口:
 public List<Student> selectMultiObject(QueryParam queryParam);
9.4、测试代码及结果:
   @org.junit.Testpublic void test05(){SqlSession sqlSession = MybatisUtils.getSqlSession();StudentDao dao = sqlSession.getMapper(StudentDao.class);QueryParam queryParam = new QueryParam("王五",23);List<Student> students = dao.selectMultiObject(queryParam);students.forEach(student -> System.out.println(student));}
 9.5、总结:

        所以我们传参的时候灵活一点,参数可以是现成的java对象,如Student;或者用自定义的java对象QueryParam:

public List<Student> selectMultiObject(QueryParam queryParam);public List<Student> selectMultiStudent(Student student);
<select id = "selectMultiObject" resultType="com.lifang.domain.Student">select id,name,email,age from student where name = #{queryName} or age =#{queryAge}</select><select id = "selectMultiStudent" resultType = "com.lifang.domain.Student">select id,name,email,age from student where  name = #{name} or age = #{age}</select>

十、多个参数-使用对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2809951.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Gemini 模型将被引入Performance Max

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

迅为LS2K0500开发板龙芯自主指令系统应用于互联网应用、打印终端、BMC 医疗、数控、通讯、交通等

CPU 迅为LS2K0500开发板采用龙芯2K0500处理器&#xff0c;基于龙芯自主指令系统 (LoongArch) 架构&#xff0c;片内集成64位LA264处理器核。实现ACPI、DVFS/DPM动态电源功耗管理等低功耗技术&#xff0c;支持多种电源级别和唤醒方式&#xff0c;可根据具体应用场景对芯片部分功…

Linux内核网络

文章目录 前言网络协议栈图解功能 发送Linux内核网络数据包图解流程 接收Linux内核网络数据包图解流程 最后 前言 你好&#xff0c;我是醉墨居士&#xff0c;因为Linux内核涉及的内容极多&#xff0c;我们初学者如果一上来就开始深挖细节&#xff0c;很有可能会在Linux内核代码…

时序预测 | Matlab实现基于GRNN广义回归神经网络的光伏功率预测模型

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 1.时序预测 | Matlab实现基于GRNN广义回归神经网络的光伏功率预测模型 2.单变量时间序列预测; 3.多指标评价,评价指标包括:R2、MAE、MBE等,代码质量极高; 4.excel数据,方便替换,运行环境2020及以上。 广义回…

抖音短视频:表情包账号的魅力与运营之道以及制作与工具

在短视频的浪潮中&#xff0c;抖音以其独特的创意和趣味性成为了年轻人的最爱。其中&#xff0c;表情包账号更是凭借其生动、形象的表现方式&#xff0c;赢得了众多用户的青睐。本文将深入探讨抖音短视频表情包账号的魅力所在以及如何有效运营。 一、表情包账号的独特魅力 情…

Go的CSP并发模型实现M, P, G简介

GMP概念简介 G: goroutine&#xff08;协程&#xff0c;也叫用户态线程&#xff09; M: 工作线程(内核态线程) P: 上下文(也可以认为是cpu&#xff0c;逻辑cpu数量&#xff0c;可以在程序启动的时候设置这个数量&#xff0c;gomaxprocs函数设置) GMP 模型 在 Go 中&#xff…

深度神经网络中的计算和内存带宽

深度神经网络中的计算和内存带宽 文章目录 深度神经网络中的计算和内存带宽来源原理介绍分析1&#xff1a;线性层分析2&#xff1a;卷积层分析3&#xff1a;循环层总结 来源 相关知识来源于这里。 原理介绍 Memory bandwidth and data re-use in deep neural network computat…

Temu、亚马逊店铺如何快速得到好评?自养号测评下单的秘籍及必备条件。

Temu、亚马逊店铺如何快速得到好评?在这个竞争激烈的电商平台上&#xff0c;好评是店铺吸引顾客、建立良好声誉的关键。快速积累好评不仅能够提高商品的曝光度&#xff0c;也有助于吸引更多潜在顾客的关注。 然而&#xff0c;亚马逊不同于国内电商&#xff0c;对于操纵评论、…

动态规划的时间复杂度优化

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 优化动态规划的时间复杂度&#xff0c;主要有如下几种&#xff1a; 一&#xff0c;不同的状态表示。 比如&#xff1a;n个人&#xff0c;m顶帽子。 第一种方式&#xff1a;dp[i][mask] ,i表示前i个人已经选择帽子&…

Python in Excel的一些使用心得

获得Python in Excel的preview之后, 就在任意的Excel单元格里可以敲py(来写Python代码了。不过Python in Excel并没有什么专门的文档, 只有一些_Get Started_教程, 比如link 1, link 2, 剩下的就是pandas, matplotlib, seaborn等lib的文章&#xff0c;和Python in Excel并没有什…

linux---安使用nginx

目录 一、编译安装Nginx 1、关闭防火墙&#xff0c;将安装nginx所需要软件包传到/opt目录下 ​编辑2、安装依赖包 3、创建运行用户、组 4、编译安装nginx 5、创建软链接后直接nginx启动 ​编辑 6、创建nginx自启动文件 ​编辑6.1 重新加载配置、设置开机自启并开启服务…

了解Node.js事件循环和事件驱动模型

在前端开发中&#xff0c;Node.js 是一个极其强大的工具&#xff0c;其事件驱动和非阻塞 I/O 的特性使其成为一个热门选择。但要充分发挥 Node.js 的优势&#xff0c;我们必须深入了解其事件循环和事件驱动模型。本文将深入探讨 Node.js 的事件循环机制以及事件驱动模型&#x…

【mysql】linux系统上进行安装操作(记录)

一、卸载自带的mariadb rpm -qa|grep mariadb #查看版本 yum -y remove mariadb版本号 #如mariadb-libs-5.5.52-1.el7.x86_64 删除目录rm -rf /var/lib/mysql/ 二、mysql安装 2.1 Mysql下载 https://dev.mysql.com/downloads/mysql/5.6.html#downloads 安装参考网址https…

为什么要学习PMP知识,PMP培训哪家好?

IT行业项目管理一枚&#xff0c;曾在做技术的时候对自己的职业发展越来越迷茫&#xff0c;不想干到35岁就参与到失业潮中&#xff0c;一直在想着办法提升自己的能力和竞争力&#xff0c;直到在领导嘴里了解到了PMP认证。也就是它对我的职业发展带来了不少的影响&#xff0c;这其…

美联储突然降息无望

作者&#xff1a;秦晋 我们知道&#xff0c;影响比特币未来1-2年市场走向的重要三因素是比特币ETF、比特币减半以及美联储降息。 如果说前两者是影响比特币市场比较紧密的微观因素。那么美联储降息就是影响比特币市场的重要宏观因素。如何看懂宏观因素&#xff1f;尽量倾听和观…

【openGL教程08】基于C++的着色器(02)

LearnOpenGL - Shaders 一、说明 着色器是openGL渲染的重要内容&#xff0c;客户如果想自我实现渲染灵活性&#xff0c;可以用着色器进行编程&#xff0c;这种程序小脚本被传送到GPU的显卡内部&#xff0c;起到动态灵活的着色作用。 二、着色器简述 正如“Hello Triangle”一章…

CSS3移动端(介绍、Chrome DevTools、视口、倍图、backgroud-size、开发方案、CSS初始化、特殊样式)

目录 1. 介绍2. Chrome DevTools移动端调试3. 视口3.1 布局视口layout viewport3.2 视觉视口visual viewport3.3 理想视口ideal viewport 4. 倍图4.1 图片的倍图使用4.2 背景图通过backgroud-size使用倍图4.3 精灵图作为背景图注意事项 5. 开发方案6. CSS初始化7. 特殊样式 1. …

【暖心驿站】壹起来|“会心驿小”——“灯笼传情 团圆共享”职工关爱活动

2024年2月23日上午&#xff0c;由曹桥街道总工会指导&#xff0c;“会心驿小”暖心驿站在平湖市新时代文明实践基地、平湖市非织造两创产业园区开展“灯笼传情 团圆共享”元宵节职工关爱活动&#xff0c;旨在丰富职工子女文化生活&#xff0c;提升职工幸福感和满足感。 社工通过…

【Git】Git命令的学习与总结

本文实践于 Learn Git Branching 这个有趣的 Git 学习网站。在该网站&#xff0c;可以使用 show command 命令展示所有可用命令。你也可以直接访问网站的sandbox&#xff0c;自由发挥。 一、本地篇 基础篇 git commit git commit将暂存区&#xff08;staging area&#xff…

前端食堂技术周刊第 113 期:Node 年终总结、Node 新吉祥物、Qwik 2.0、React Labs 工作进展

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;现炒花龙 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 大家好&#xff0c;我是童欧巴。欢迎来到前端食堂技术周刊&#xff0c;我们先来看下…