广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Mybatis中@Param注解的用法详解
  • 260
分享到

Mybatis中@Param注解的用法详解

2024-04-02 19:04:59 260人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1、概述2、实例:实例一:@Param注解基本类型的参数实例二:@Param注解JavaBean对象3、注意点附:为什么要用@param总结1、概述 首先明确这个注解是为sql语

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);

附:为什么要用@param

首先解释一下为毛要用这个东西

当在查询的时候,一个参数的时候,在直接在入参中写入就可以了,但是当两个参数的时候,怎么办?

两种办法:第一用Map ,第二:就用@param,[可读性比较好,参数少的时候]

注意:当参数为2-5个时候,用@param最佳,当大于5的时候,肯定会选择map了

举例说明:

<select id="findRoleByMap" parameterType="map" resultType="role">
    SELECT id,name FROM t_role
    WHERE roleName=#{roleName}
    AND note=#{note}
<select>

总结

到此这篇关于mybatis中@Param注解用法的文章就介绍到这了,更多相关@Param注解用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Mybatis中@Param注解的用法详解

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

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

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

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

下载Word文档
猜你喜欢
  • Mybatis中@Param注解的用法详解
    目录1、概述2、实例:实例一:@Param注解基本类型的参数实例二:@Param注解JavaBean对象3、注意点附:为什么要用@param总结1、概述 首先明确这个注解是为SQL语...
    99+
    2022-11-13
  • Mybatis中@Param的用法和作用详解
    用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中我们先来看Mapper接口中的@Select方法package Mapper; public inte...
    99+
    2023-05-31
    mybatis param
  • MyBatis@Param注解的实现
    先说结论: 当输入参数只有一个且没有使用@Param注解时,MyBatis会直接传递这个参数;当输入参数多于一个,或者使用了@Param注解时,MyBatis会将参数封装在Map中传...
    99+
    2022-11-13
  • Mybatis中@Param注解的作用说明
    目录@Param注解的作用说明1.关于@Param2.原始的方法3.使用@Param@Param注解和参数使用1.使用@Param注解2.不使用@Param注解@Param注解的作用...
    99+
    2022-11-13
  • Mybatis Mapper中多参数方法不使用@param注解报错的解决
    目录问题描述寻求解决方案寻找原因拓展延伸在使用低版本的Mybatis的时候,Mapper中的方法如果有多个参数时需要使用@param注解,才能在对应xml的sql语句中使用参数名称获...
    99+
    2022-11-12
  • 解决Mybatis的@Param()注解导致分页失效的问题
    @Param注解导致分页失效—分页拦截器 问题描述 在使用mybatis分页时,使用@Param注解传入了两个对象,分页失效,查询出的总是全部的数据。出现问题时,分页策略为:分页拦截...
    99+
    2022-11-12
  • mybatis中@Param注解总是报取不到参数问题及解决
    目录@Param注解总是报取不到参数错误如下@Param注解详细使用方法1.@Param这个注解是用来解决接口方法有多个参数时2.可以修饰JavaBean对象、Map集合等3.@Pa...
    99+
    2022-11-13
  • Spring利用注解整合Mybatis的方法详解
    目录一、环境准备步骤1:数据库相关步骤2:导入jar包步骤3:创建模型类步骤4:创建Dao接口和实现类步骤5:创建Service接口和实现类步骤6:添加jdbc.properties...
    99+
    2022-11-13
  • mybatis中@Param注解总是报取不到参数问题如何解决
    这篇文章主要介绍“mybatis中@Param注解总是报取不到参数问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mybatis中@Param注解总是报取不到参数问题如何解决”文章能帮助大...
    99+
    2023-07-02
  • Mybatis常用注解中的SQL注入实例详解
    目录前言常见注入场景2.1普通注解2.2 动态sql2.2.1 使用< script>2.2.2 使用Provider注解总结前言 MyBatis3提供了新的基于注解的配...
    99+
    2022-11-13
  • Mybatis详解在注解sql时报错的解决方法
    目录错误:文件结构BookMapper.javaBookMapperSQL .javaMybatis的配置文件分析:错误: 在做Mybatis用注解方式来注入sql的练习时,报了这样...
    99+
    2022-11-13
  • MyBatis中Mapper的注入问题详解
    在 SpringBoot 体系中,MyBatis 对 Mapper 的注入常见的方式我知道的有 2 种: 1、@MapperScan MapperScan 类是 mybatis-sp...
    99+
    2022-11-12
  • Mybatis注解方式@Insert的用法
    目录Mybatis注解方式@Insert1、不需要返回主键2、返回自增主键3、返回非自增主键Mybatis@Insert注解批量插入数据库bean:实体类MapperMybatis注...
    99+
    2022-11-13
  • Java中注解@JsonFormat的用法详解
    目录一、@JsonFormat是什么?二、@JsonFormat参数讲解附:@JsonFormat 将枚举序列化为对象Java EnumMain Class不使用 @Jso...
    99+
    2023-01-06
    java注解@jsonformat jsonformat java注解
  • mybatis-plus中wrapper的用法实例详解
    目录一、条件构造器关系介绍条件构造器关系介绍 :wapper介绍 :二、项目实例1、根据主键或者简单的查询条件进行查询2、MyBatis-Plus还提供了Wrapper条件构造器,具...
    99+
    2022-11-13
  • tk-mybatis的使用方法详解
    tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具 实现...
    99+
    2022-11-12
  • Mybatis Example的高级用法详解
    目录Mybatis Example的高级用法一. mapper接口中的函数及方法二. example实例方法三. 使用案例说说Mybatis Example常见用法一. 说明二. 排...
    99+
    2022-11-12
  • java开发MyBatis中常用plus实体类注解符详解
    目录mybatis-plus常用注解符1. 表名注解(@TableName) 2. 主键注解(@TableId) 3. 属性注解(@TableField) mybatis-plus常...
    99+
    2022-11-12
  • 详解Mybatis中的PooledDataSource
    目录前言PooledConnectionPooledDataSource的pushConnection()方法总结前言 上篇Java Mybatis数据源之工厂模式文章中我...
    99+
    2022-11-13
  • not null注解用法详解
    用法是通过设定字段的约束,可以限制字段的取值范围,避免数据错误或者不符合业务规则的情况发生。not null注解是一种用于约束数据库表字段的注解,它用于指示该字段不允许为空。在数据库设计中,字段的约束是保证数据完整性和一致性的重要手段之一。...
    99+
    2023-11-07
    not null
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作