`

mybatis中@Param的用法和作用

    博客分类:
  • java
阅读更多

用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 

 

我们先来看Mapper接口中的@Select方法

package Mapper;


public interface Mapper {

@Select("select s_id id,s_name name,class_id classid from student where  s_name= #{aaaa} and class_id = #{bbbb}")
	public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id); 

@Delete......
    
@Insert......
 
}

 这里解释一下

1.@Select(....)注解的作用就是告诉mybatis框架,执行括号内的sql语句

2.s_id id,s_name name,class_id classid  格式是 字段名+属性名,例如s_id是数据库中的字段名,id是类中的属性名

    这段代码的作用就是实现数据库字段名和实体类属性的一一映射,不然数据库不知道如何匹配

 

3.where  s_name= #{aaaa} and class_id = #{bbbb} 表示sql语句要接受2个参数,一个参数名是aaaa,一个参数名是bbbb,如果要正确的传入参数,那么就要给参数命名,因为不用xml配置文件,那么我们就要用别的方式来给参数命名,这个方式就是@Param注解

 

4.在方法参数的前面写上@Param("参数名"),表示给参数命名,名称就是括号中的内容

public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id);
给入参 String name 命名为aaaa,然后sql语句....where  s_name= #{aaaa} 中就可以根据aaaa得到参数值了

 

分享到:
评论

相关推荐

    Mybatis中@Param的用法和作用详解

    Mybatis中@Param的用法和作用是本文的主要内容,下面我们将详细介绍@Param的用法和作用,以及与Spring中@param的使用区别。 @Param的用法 -------- 在Mybatis中,@Param注解的作用是给参数命名,参数命名后就能...

    浅谈为什么要使用mybatis的@param

    在 MyBatis 中,使用 @Param 注解可以给映射器方法中的参数命名,这样可以解决多个参数时的混淆问题。下面我们来详细讲解为什么要使用 @Param 注解。 首先, lets 看一个报错的示例代码,当我们不使用 @Param 标签...

    Mybatis使用@param注解四种情况解析

    总结,`@Param`注解在Mybatis中的作用是提供参数名称,以便Mybatis能够正确地将Java方法参数映射到SQL语句中。在多参数方法、需要参数别名、使用`$`拼接SQL或动态SQL中作为变量时,使用`@Param`是必不可少的。了解...

    mybatis-demo9-方法多参数@Param.zip

    综上所述,`@Param`注解是MyBatis中处理多参数的关键工具,它使得在Mapper接口中定义复杂的SQL操作变得更加简洁和清晰。理解并正确使用`@Param`,可以提升代码质量,提高开发效率。在实际项目中,结合良好的编程习惯...

    mybatis多个接口参数的注解使用方式(@Param)

    在 MyBatis 中,使用 @Param 注解可以实现多个接口参数的传递,这可以解决在实际开发中遇到的多个参数传递问题。本文将详细介绍 MyBatis 中多个接口参数的注解使用方式,并提供了实际的示例代码。 单参数 在 ...

    MyBatis3.0单独例子。

    本篇文章将深入探讨MyBatis 3.0的核心特性,通过实例来解析其工作原理和使用方法。 首先,MyBatis3.0引入了更简洁的XML配置文件。XML映射文件是MyBatis中连接模型类和数据库表的关键,3.0版本的XML配置文件变得更加...

    MyBatis中OGNL的使用教程详解

    OGNL在MyBatis中的作用主要是用于动态SQL构建和参数映射,它提供了丰富的语法来处理复杂的逻辑和数据操作。 首先,让我们了解一下OGNL的基本表达式: 1. **逻辑操作**: - `e1 or e2`:如果`e1`或`e2`为真,则...

    Mybatis中注解@MapKey的使用详解

    它的主要作用是标记在方法上,告诉Mybatis如何将查询结果组织成一个Map。注解只有一个属性,即`value`,用来指定映射到Map的键所对应的字段名。 例如,假设我们有一个需求,批量查询数据库中的记录,每个记录包含`...

    mybatis中文离线文档

    这个离线文档对于MyBatis初学者和进阶者都非常有帮助,不仅覆盖了基本的使用方法,还深入到了高级特性和最佳实践。通过阅读和理解,开发者能够更好地掌握MyBatis框架,提升开发效率,实现更高效、更灵活的数据库操作...

    MyBatis注解配置映射器:一对多关系的实现

    在MyBatis中,我们可以通过注解的方式来配置这种关系,主要涉及两个注解:`@Select` 和 `@ResultMap`。`@Select` 用于定义SQL查询语句,`@ResultMap` 则用于关联查询结果与Java对象的映射。 1. **创建实体类**: ...

    mybatis中文文档

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 文档详细部分可能包括以下几个关键知识点: 1. **安装与配置**: - ...

    myBatis中文文档

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在myBatis中文文档中,你会深入了解到以下关键知识点: 1. **安装与...

    free-idea-mybatis.zip

    支持查找映射器接口和映射器xml元素的用法 突出显示mapper xml的冲突元素为错误 自动注册映射器为spring bean 在编辑sql时,Mapper参数在xml中自动完成 #{} yourParameter 基于@Param注解

    mybatis-param-clazzStudent-222

    总之,"mybatis-param-clazzStudent-222"这个主题涉及MyBatis中如何处理和映射复杂的Java对象,如`ClazzStudent`,作为参数传递给SQL查询,以及如何利用这些参数进行动态SQL构建。在实际应用中,这种能力使得MyBatis...

    MyBatis基本使用总结

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在使用MyBatis时,我们需要理解其核心组件...在实际项目中,理解并熟练掌握MyBatis的基本使用,对于提升开发效率和代码质量有着重要作用。

    mybatis3中文使用文档

    MyBatis3中文使用文档是针对想要学习和深入了解MyBatis框架的开发人员的重要资源。MyBatis是一个轻量级的持久层框架,它允许开发者将SQL与Java代码紧密集成,提供灵活的数据映射功能,使得数据库操作变得更加简单。...

    总结--Mybatis传递参数的几种方法

    在上面的代码中,我们可以看到,方法 `heart` 接受一个 `TermHeart` 类型的参数 `th`,然后在 XML 代码中使用 `#{th.xtsj}`、`#{th.zdbb}` 和 `#{th.zdbh}` 来获取该参数的各个字段的值。 3. 传递多个参数 在 ...

    mybatis源码和官方的中文文档

    MyBatis是一个流行的Java持久...通过深入阅读MyBatis的中文文档和研究源代码,开发者不仅可以掌握MyBatis的基本用法,还能了解到其设计理念和内部实现,从而更好地利用这个强大的框架来构建高效、可维护的数据库应用。

    Spring及Mybatis整合占位符解析失败问题解决

    在实际开发中,Spring和Mybatis通常会一起使用,提供了一个强大且灵活的开发平台。 然而,在使用Spring和Mybatis进行开发时,可能会遇到一些问题,例如占位符解析失败问题。本文将介绍如何解决这个问题,并详细解释...

    mybatis-spring中文文档

    MyBatis-Spring的快速使用需要在Spring应用上下文中至少定义两个对象:一个SqlSessionFactory和至少一个数据映射器。在MyBatis-Spring中,SqlSessionFactory的配置使用SqlSessionFactoryBean这个类。例如,可以在...

Global site tag (gtag.js) - Google Analytics