`
geeksun
  • 浏览: 964982 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MyBatis的parameterType和resultMap

 
阅读更多

MyBatis的mapping.xml中有两个重要的属性:parameterType和resultMap属性(parameterMap现在不建议使用)

parameterType用来指定传入参数的类型,比如Bean或Map\List。

<configuration>
    <typeAliases>
        <typeAlias alias="Product" type="com.zainagou.supplier.entity.Product"/>
    </typeAliases>

    <!-- 映射map -->
    <mappers>
    </mappers>
</configuration>

resultMap是MyBatis中最重要最强大的元素。resultMap封装查询的结果集,type可以是Bean、Object、Primitive type。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.zainagou.supplier.mapper.ProductCategoryMapper">
    <parameterMap id="productCategory" type="com.zainagou.supplier.entity.ProductCategory"></parameterMap>
    <resultMap id="resultMap" type="com.zainagou.supplier.entity.ProductCategory" >
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="p_id" property="pid" jdbcType="INTEGER" />
        <result column="name" property="name" jdbcType="VARCHAR" />
    </resultMap>
    <sql id="Base_Column_List" >
        id, fid, name
    </sql>
    <select id="getProductCategorys" resultMap="resultMap" parameterMap="productCategory">
        select <include refid="Base_Column_List" /> from product_category where 0=0
        <if test="name!=null and name!=''">
           and name like "%"#{name,jdbcType=VARCHAR}"%"
        </if>
    </select>
</mapper>

从上面mapping.xml可以看出:

resultMap中, column是列名,property是列映射到实体对象的属性,jdbcType是列在数据库中的数据类型,格式统一都是大写,和MySql中的数据类型多数保持一致,少数有差异。

这种方式可以解决列名不匹配。

分享到:
评论
1 楼 卧槽这是我的昵称麽 2016-11-28  

相关推荐

    Mybatis高级-resultMap之collection聚集

    &lt;select id="selectDetailVOsById" resultMap="DetailResultVOMap" parameterType="string"&gt; SELECT * FROM DETAIL where ID=#{ID} ``` 这段代码中,`#{ID}`参数被用来过滤出特定的`DetailVO`对象,并通过`...

    MyBatis的resultMap详解

    MyBatis resultMap 详解 MyBatis 中的 resultMap 是一个非常重要的概念,它负责将查询...MyBatis 的 resultMap 是一个非常强大的工具,它可以帮助我们将查询结果映射到 Java 对象中,使得我们的开发更加方便和高效。

    根据MyBatis的ResultMap生成增删改sql

    本主题聚焦于如何根据MyBatis的ResultMap来生成增删改(CRUD)SQL语句。ResultMap是MyBatis的核心组件之一,用于解决对象关系映射的复杂性,比如一对一、一对多、多对多等关联关系的处理。 首先,ResultMap的概念。...

    MyBatis中传入参数parameterType类型详解

    在本文中,我们将详细介绍MyBatis中传入参数parameterType类型的相关内容,包括基本数据类型和复杂数据类型,并提供了相关的示例代码。 基本数据类型 在MyBatis中,基本数据类型包括int、string、long、Date等类型...

    Mybatis框架 mapper.xml文件中parameterType传递参数常用的几种方式.pdf

    以下是几种常用的parameterType参数传递方式以及#和$在Mybatis中传参的区别。 1. 使用依次顺序传参: 在这种方式中,参数按照顺序传递,SQL语句中使用#{参数索引}来引用参数。例如,有一个查询用户的方法,用户名...

    深入理解Mybatis中的resultType和resultMap

    在MyBatis中,resultType和resultMap是两种不同的方式,用于处理SQL查询结果到Java对象的映射。这两种方式各有特点,适用于不同场景。 **一、resultType** resultType是MyBatis中最简单的结果映射方式,它直接指定...

    MyBatis完整案例(增删改查)

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在这个"MyBatis完整案例(增删改查)"中,我们将深入探讨MyBatis如何...

    myBatis案例.zip

    8. **参数映射**:myBatis的ParameterMap和ParameterType元素用于处理SQL的输入参数,可以是简单的值、Java对象或者自定义的参数类型。 9. **插件机制**:myBatis提供插件功能,开发者可以通过自定义Interceptor...

    MyBatis学习-映射文件标签篇(select、resultMap).rar_alikeett_blueaod_mybatis

    本资料主要探讨的是MyBatis中的两个关键标签:`select`和`resultMap`,这两个标签在映射文件中起着至关重要的作用。 `select`标签是MyBatis用于执行SQL查询的标签,它允许我们将SQL语句嵌入到XML配置文件中。`...

    Mybatis文档(中英)

    每个元素对应一个Java方法,通过`id`属性标识,`resultMap`定义了结果集的映射,`parameterType`和`resultType`分别指定了参数类型和返回结果类型。 4. **注解方式** 除了XML配置,Mybatis还支持注解方式,可以...

    Mybatis最新版

    4. 结果映射:Mybatis支持自定义结果集映射,可以通过`resultMap`标签定义复杂的结果映射关系,包括一对一、一对多、多对一、多对多的关联映射。 5. 映射缓存:Mybatis内置了本地缓存和二级缓存机制,可以提高数据...

    MyBatis3DTD约束

    它们可以包含parameterType和resultType属性,分别指明输入参数类型和返回结果类型。 5. **parameterMap**:虽然在MyBatis3中已不再推荐使用,但在旧版本或复杂场景下,它用于定义参数集合,通过name属性与传入的...

    mybatis-3-config.dtd mybatis-3-mapper.dtd

    在MyBatis的配置过程中,有两个非常重要的DTD(Document Type Definition)文件,即`mybatis-3-config.dtd`和`mybatis-3-mapper.dtd`。这些DTD文件定义了MyBatis配置文件的结构和元素,是理解MyBatis配置的关键。 `...

    mybatis实战

    此外,还可以使用parameterType和resultType来指定输入参数和返回结果的类型。 8、参数传递 Mybatis支持多种参数传递方式,包括基本类型、对象、Map等。使用#{paramName}占位符,Mybatis会自动处理参数绑定,避免...

    Mybatis实现多表联合查询和批量插入

    Mybatis实现多表联合查询和批量插入 Mybatis是一款流行的持久层框架,它可以帮助开发者快速、高效地访问数据库。在实际开发中,经常需要对多个表进行联合查询,或者对大量数据进行批量插入。本文将详细介绍如何使用...

    mybatis-3-config.dtd

    在MyBatis中,`mybatis-3-config.dtd` 和 `mybatis-3-mapper.dtd` 是两个关键的DTD文件,它们分别用于配置MyBatis的核心设置和映射器接口。 首先,我们来看`mybatis-3-config.dtd`。这个文件定义了MyBatis配置文件...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    mybatis和spring整合方式-带注解

    &lt;select id="findById" parameterType="Integer" resultMap="BooksResultMap"&gt; select * from BOOKS where BOOK_ID = #{id} ``` #### 三、Spring配置与集成 在Spring中配置`MapperFactoryBean`来实现MyBatis...

    MyBatis3用户指南中文版.pdf

    使用@Param和@Result注解,或者在XML文件中配置parameterType和resultType,可以指定输入参数和输出结果的类型。对于复杂类型的映射,还可以使用association和collection元素处理一对多、一对一的关系。 事务管理在...

Global site tag (gtag.js) - Google Analytics