【详解】@Param注解的用法

article/2025/11/2 11:08:04

1、概述

      首先明确这个注解是为SQL语句中参数赋值而服务的。

      @Param的作用就是给参数命名,比如在mapper里面某方法A(int id),当添加注解后A(@Param("userId") int id),也就是说外部想要取出传入的id值,只需要取它的参数名userId就可以了。将参数值传如SQL语句中,通过#{userId}进行取值给SQL的参数赋值。

2、实例:

    实例一:@Param注解基本类型的参数

    mapper中的方法:

public User selectUser(@Param("userName") String name,@Param("password") String pwd);

  映射到xml中的<select>标签

<select id="selectUser" resultMap="User">  select * from user  where user_name = #{userName} and user_password=#{password}  
</select>

     其中where user_name = #{userName} and user_password = #{password}中的userName和password都是从注解@Param()里面取出来的,取出来的值就是方法中形式参数 String name 和 String pwd的值。

    实例二:@Param注解JavaBean对象

   SQL语句通过@Param注解中的别名把对象中的属性取出来然后复制

    mapper中的方法: 

public List<User> getAllUser(@Param("user") User u);

    映射到xml中的<select>标签

<select id="getAllUser" parameterType="com.vo.User" resultMap="userMapper">  select   from user t where 1=1  and   t.user_name = #{user.userName}  and   t.user_age = #{user.userAge}  </select>  

3、注意点

   当使用了@Param注解来声明参数的时候,SQL语句取值使用#{},${}取值都可以。

   当不使用@Param注解声明参数的时候,必须使用的是#{}来取参数。使用${}方式取值会报错。

   不使用@Param注解时,参数只能有一个,并且是Javabean。在SQL语句里可以引用JavaBean的属性,而且只能引用JavaBean的属性。
 

    @Select("SELECT * from Table where id = #{id}")Enchashment selectUserById(User user);

 如果对你有帮助,感谢支持!你的关注是我前进的动力!

欢迎关注公众号:天天说编程


http://chatgpt.dhexx.cn/article/F6q26brH.shtml

相关文章

关于STM32例程中U8,U16,U32的问题

在看STM32例程的时候&#xff0c;发现对u8, u16&#xff0c;u32存在疑问。 使用go to definition时发现无法找到 然后项目管理栏上&#xff0c;发现stdio.h,stdint.h出现了感叹号警示 解决方式&#xff0c;打开微库 使用go to definition&#xff0c;还是没有&#xff0c;于是…

C语言用printf()打印u8,u16,u32等参数类型

想必大家都知道printf打印int 型是用%d,但是u8,u16,u32,u64还有s8,s16,s32,s64是如何打印呢&#xff0c;知道的大佬绕行哈&#xff0c;不知道往下看看。 what is u8? 常见的u8其实是自定义的&#xff0c;定义如下&#xff1a; typedef signed char s8; typedef unsigned …

LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)

阴码逐列 式顺向C51 格式 void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode) { u8 temp,t1,t;u16 y0y;u8 csize(size/8((size%8)?1:0))*(size/2); //得到字体一个字符对应点阵集所占的字节数 numnum- ;//得到偏移后的值&#xff08;ASCII字库是从空格开始取…

【☠️️社死现场の老板来了☠️️】小伙,搞C语言嵌入式开发这么久了,还不知道u8、u16、u32、s8、s16、s32是什么意思啊?

老板来了&#xff1a; 糖糖小伙&#xff0c;你搞C语言嵌入式开发这么久了&#xff0c;我来考考你u8、u16、u32、s8、s16、s32是什么意思啊&#xff1f;你要是回答的让我满意了&#xff0c;给你升职加薪&#xff0c;从此走上人生巅峰呦~ 报告老板&#xff1a; 作为C语言后入式…

C语言中vu16什么意思,15.stm32 数据类型的定义(常用的U8,U16,U32到底代表什么)

满意答案 月冰p莹月 2020.09.14 采纳率&#xff1a;48% 等级&#xff1a;12 已帮助&#xff1a;9104人 去百度文库&#xff0c;查看完整内容> 内容来自用户:尘客i 在KeilMDK开发环境里&#xff0c;比如一个无符号32位整形数据会有很多种表示方法&#xff1a; 1&#xff0…

C语言中u8 u16 u32含义,有关stm32的问题,程序里面的u8、u16这些是什么意思啊

u8是unsigned char&#xff0c;u16是unsigned short&#xff0c;u32是unsigned long。 u8&#xff0c;u16&#xff0c;u32都是C语言数据类型&#xff0c;分别代表8位&#xff0c;16位&#xff0c;32位长度的数据类型&#xff0c;一个字节是8位&#xff0c;所以u8是1个字节&…

C语言中u8 u16 u32含义,有关stm32的问题,程序里面的u8、u16的含义

u8是unsigned char&#xff0c;u16是unsigned short&#xff0c;u32是unsigned long。 ; u8&#xff0c;u16&#xff0c;u32都是C语言数据类型&#xff0c;分别代表8位&#xff0c;16位&#xff0c;32位长度的数据类型&#xff0c;一个字节是8位&#xff0c;所以u8是1个字节&…

u32在c语言中的作用,c语言中u8,u16,u32(示例代码)

u8是unsigned char&#xff0c;u16是unsigned short&#xff0c;u32是unsigned long。 u8&#xff0c;u16&#xff0c;u32都是C语言数据类型&#xff0c;分别代表8位&#xff0c;16位&#xff0c;32位长度的数据类型&#xff0c;一个字节是8位&#xff0c;所以u8是1个字节&…

《C语言程序设计》实训报告

任务一顺序结构程序设计 1.编写已知半径r为15求圆面积的程序 文字&#xff1a; 1.定义一个变量r15&#xff1b; 2.让3.14与r*r相乘得的积为s&#xff1b; 3.输出s的值&#xff1b; 流程图&#xff1a; 代码&#xff1a; #include <stdio.h> int main() { double…

单片机c语言程序设计实训100例基于pic pdf,单片机C语言程序设计实训100例 基于AVR+Proteus仿真.pdf...

作 者 &#xff1a;彭伟编著 出版发行 : 北京&#xff1a;北京航空航天大学出版社 , 2010.05 ISBN号 &#xff1a;978-7-5124-0068-9 页 数 &#xff1a; 568 原书定价 : 65.00 主题词 : 单片微型计算机-C语言-程序设计 中图法分类号 : TP3 ( 工业技术->自动化技术、计算机技…

8051单片机的C语言程序设计

一、数据类型 &#xff08;一&#xff09;基本类型&#xff1a; 1. 位类型&#xff08;bit&#xff09;:1&#xff09;是C51的扩充数据类型&#xff0c;用于访问8051中可寻址的位单元。 2&#xff09;8051支持两种位类型&#xff1a;bit型和sbit类型&#xff0c;它们在内存中都…

c语言程序设计实训

任务一、顺序结构程序设计 1.编写已知半径r为15的圆面积 #include <stdio.h> int main() {double r, s, pi 3.14159;printf("请输入圆的半径为&#xff1a;");scanf_s("%lf", &r);s pi * r * r;printf("面积为&#xff1a;%f", s)…

51单片机基础实验例程

代码来源见代码注释。 Table of Contents 实验1&#xff1a;点亮第一个LED 实验2&#xff1a;LED闪烁 实验3&#xff1a;LED流水灯 实验4&#xff1a;蜂鸣器 实验5&#xff1a;静态数码管显示 实验6&#xff1a;动态数码管显示 实验7&#xff1a;独立按键 实验8&#x…

单片机c语言应用100例第3版课后答案,单片机C语言应用100例(第3版)

读者对象&#xff1a; 本书在编写时力求通俗、易懂&#xff0c;硬件原理以"有用、够用”为原则&#xff0c;内容讲解以"紧密结合实践”为特色。因此&#xff0c;本书特别适合单片机零起点的初学者使用&#xff0c;可作为高等院校控制类专业学生、电子爱好者及各类工程…

51单片机C语言程序100例分析(1)IO+C语言+头文件

51单片机C语言程序100例分析&#xff08;1&#xff09;IOC语言头文件 \\\插播一条&#xff1a;文章末尾有惊喜哟~/// P10xfe;//P111111110B&#xff0c;即P1.0输出低电平} 分析&#xff1a;通过这短短的几行代码就能够让51单片机的P1.0引脚输出低电平&#xff0c;首先#includ…

单片机c语言赚钱,单片机C语言程序设计实训100例(从初级入手).pdf

您所在位置&#xff1a;网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp嵌入式开发 单片机C语言程序设计实训100例(从初级入手).pdf59页 本文档一共被下载&#xff1a;次,您可全文免费在线阅读后下载本文档。 下载提示 1.本站不保证该用户上传的…

51单片机C语言编程100例pdf,51单片机C语言编程100例.doc

51单片机C语言编程100例.doc .目 录实例3用单片机控制第一个灯亮3实例4用单片机控制一个灯闪烁认识单片机的工作频率3实例5将 P1口状态分别送入P0、P2、P3口认识I/O口的引脚功能3实例6使用P3口流水点亮8位LED3实例7通过对P3口地址的操作流水点亮8位LED3实例8用不同数据类型控制…

单片机c语言程序设计实训报告,(整理)单片机C语言程序设计实训100例.doc

(整理)单片机C语言程序设计实训100例.doc .单片机C语言程序设计实训100例基于8051Proteus仿真案例第 01 篇 基础程序设计01闪烁的LED/* 名称闪烁的LED说明LED按设定的时间间隔闪烁*/includereg51.hdefine uchar unsigned chardefine uint unsigned intsbit LEDP10;延时void Del…

单片机C语言程序设计实训100例基于8051+Proteus仿真

初学单片机的时候&#xff0c;需要一些比较基础的例子来参考和提高自己 &#xff0c;这里整理一下常用的基本例子&#xff0c;给有需要的人也下载哦 内如下&#xff1a; 分2个文件夹基础部分和硬件应用部分 比如基础里面第一个 闪烁LED程序&#xff0c;C文件如下 #include &…