`

MyBatis 传入参数parameterType详解

 
阅读更多
  在MyBatis的select、insert、update、delete这些元素中都提到了parameterType这个属性。MyBatis现在可以使用的parameterType有基本数据类型和JAVA复杂数据类型

    基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值
    复杂数据类型:包含JAVA实体类、Map。通过#{属性名}或#{map的KeyName}即可获取传入的值



    基本数据类型参数示例:

    根据班级ID查询教师列表

    xml文件

        <select id="selectTeacher" parameterType="int" resultType="com.myapp.domain.Teacher"> 
            select * from Teacher where c_id=#{id} 
        </select> 


    java代码

        List<Teacher> tList = teacherMapper.selectTeacher(2);   
        for (Teacher entityTemp : tList) {   
            System.out.println(entityTemp.toString());   
        }   

    JAVA实体类型参数示例:

        <select id="selectTeacher" parameterType="com.myapp.domain.Teacher" resultType="com.myapp.domain.Teacher"> 
            select * from Teacher where c_id=#{id} 
        </select> 


        java代码 
         
        Teacher queryTeacher=new Teacher(); 
        queryTeacher.setId(2); 
        List<Teacher> tList = teacherMapper.selectTeacher(queryTeacher);   
        for (Teacher entityTemp : tList) {   
            System.out.println(entityTemp.toString()); } 

    Map参数示例:
        <select id="selectTeacher" parameterType="Map" resultType="com.myapp.domain.Teacher"> 
            select * from Teacher where c_id=#{id} and sex=#{sex} 
        </select> 

        java代码 
         
        Map<String,String> map=new HasMap<String,String>(); 
        map.put("id","2"); 
        map.put("sex","男"); 
        List<Teacher> tList = teacherMapper.selectTeacher(map);   
        for (Teacher entityTemp : tList) {   
            System.out.println(entityTemp.toString()); } 

另外MyBatis还提供了一个使用注解来参入多个参数的方式。这种方式需要在接口的参数上添加@Param注解

示例:

接口方法

    public List<Teacher> selectTeacher(@Param(value="id") String id,@Param(value="sex") String sex); 


XML文件

    <select id="selectTeacher"  resultType="com.myapp.domain.Teacher"> 
        select * from Teacher where c_id=#{id} and sex=#{sex} 
    </select> 


测试代码

    List<Teacher> tList = teacherMapper.selectTeacher("2","男");   
    for (Teacher entityTemp : tList) {   
        System.out.println(entityTemp.toString()); 
1
0
分享到:
评论

相关推荐

    MyBatis中传入参数parameterType类型详解

    MyBatis中传入参数parameterType类型详解 MyBatis是一款流行的持久层框架,它提供了一个灵活的方式来与数据库交互。在MyBatis中,parameterType类型是Mapper文件中的一个重要属性,它用于指定Mapper接口方法接受的...

    mybatis动态sql语句详解

    动态SQL是MyBatis的一项强大特性,它允许根据传入的参数动态地构建SQL语句结构,从而提高SQL语句的灵活性和复用性。这对于处理复杂的查询场景尤其有用,例如根据不同的条件组合生成不同的查询语句等。 #### 三、...

    MyBatis动态SQL详解.pdf

    ### MyBatis动态SQL详解 #### 一、MyBatis动态SQL概述 在传统的Java数据库连接(JDBC)中,为了实现对数据库的操作,我们往往需要编写大量的代码来进行SQL语句的拼接。这种方式不仅降低了代码的可读性和可维护性,...

    MyBatis参数处理.docx

    在MyBatis框架中,参数处理是一个关键环节,它决定了SQL查询语句如何根据传入的参数进行动态构建。本示例中,我们看到了两种不同的参数处理方式:使用Map和JavaBean。 1. **Map参数处理**: - 在映射文件中,`...

    Mybatis映射文件实例详解

    在实例中,`parameterType`用于定义查询用户信息时传入的用户ID类型为`int`,而在插入用户信息时,传入的是`User`对象。 2. **resultType**: `resultType`属性指定了查询结果的Java类型。例如,当查询用户信息时...

    mybatis参数解说

    ### MyBatis参数详解 #### 一、概述 在MyBatis框架中,处理数据库操作时,经常需要向SQL语句传递各种类型的参数。这些参数包括简单数据类型(如Integer、String等)、复杂的对象类型(如自定义JavaBean类)、Map...

    mybatis动态插入list传入List参数的实例代码

    MyBatis 动态插入 List 传入 List 参数的实例代码详解 MyBatis 是一款优秀的 ORM 工具,提供了许多实用的功能,其中之一便是动态插入 List,下面我们将通过实例代码详解 MyBatis 动态插入 List 传入 List 参数的...

    mybatis文档

    MyBatis 支持多种方式传递参数到 SQL 语句中,包括使用 `#{}` 占位符、使用 Map 作为参数等。 ##### 5.1 使用 #{} ```xml &lt;select id="findUserById" parameterType="int" resultType="com.example.model.User"&gt; ...

    mybatis_day02教案1

    这是因为MyBatis在`parameterType`中已经指定了参数类型,它会自动将传入的对象转化为Map,其中key就是参数名,因此可以直接通过字段名访问。 【部分内容】涵盖了多个知识点,包括: 1. **MyBatis接口的CRUD**:这...

    mybatis批量添加实现1

    【Mybatis批量添加实现详解】 在数据库操作中,批量插入数据是常见的需求,尤其是在处理大量数据时,批量插入能够显著提高效率。Mybatis,作为一款轻量级的持久层框架,提供了灵活的方式来处理批量添加。本文将详细...

    mybatis基础及项目实战

    - `parameterType`:指定传入参数的类型。 - `resultType`:指定返回结果的类型。 - **应用场景对比**: - **Hibernate**: - 特点:全ORM,无需手动编写SQL。 - 适用场景:需求稳定、中小型项目。 - **...

    mybatis总结

    - **执行阶段**:根据传入的参数动态组装SQL语句,执行SQL并返回结果集。 - **清理阶段**:关闭资源,释放连接。 #### 二、MyBatis的核心功能 - **API支持**:提供了丰富的API接口,便于开发者进行数据库操作。 - ...

    mybatis笔记

    ### MyBatis 笔记详解 #### 一、概述与概念 **MyBatis** 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用...

    mybatis-3.5.4.pdf

    Statement Builders是MyBatis内部用于构建SQL语句的组件,它根据传入的参数和配置信息生成最终的SQL语句。这部分通常对用户来说是透明的,但在理解MyBatis的工作原理时非常重要。 ### Logging #### 8.1 日志记录 ...

    mybatis基本实例详解

    在给出的`&lt;select&gt;`标签中,`id`是SQL语句的唯一标识,`parameterType`指定了传入参数的类型,`resultType`则定义了返回结果的类型。在查询条件部分,可以看到一个`&lt;if&gt;`标签,这是MyBatis的动态SQL功能,它会根据`...

    Mybatis特殊字符处理的详解

    在使用Mybatis进行数据库操作时,经常会遇到XML配置文件中的特殊字符问题,这些特殊字符可能会导致解析错误或者SQL语句无法正确执行。本篇将详细解释Mybatis如何处理这些特殊字符,以及提供一种通用的解决方案。 一...

    MyBatis模糊查询

    1. **参数类型**:确保`parameterType`属性与传递给查询的实际参数类型一致。 2. **结果映射**:确保`resultType`属性正确映射到Java对象。 3. **SQL语法差异**:不同数据库对SQL语法的支持有所不同,特别是字符串...

    mybatis常用语句和lyaui 多条件查询加分页

    ### MyBatis常用语句详解及Lyaui多条件查询加分页 #### 一、概述 在本篇文章中,我们将详细介绍MyBatis框架中的几种常用SQL语句编写方法及其应用场景,特别是针对数据库的增删改查操作。这些操作是任何Web应用开发...

    Mybatis学习文档

    - **智能标签介绍:** MyBatis提供了多种动态SQL标签,如`if`, `choose`, `when`, `otherwise`, `foreach`等,这些标签可以根据传入的参数动态地构建SQL语句。 - **示例代码:** ```xml ...

Global site tag (gtag.js) - Google Analytics