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中的数据类型多数保持一致,少数有差异。
这种方式可以解决列名不匹配。
相关推荐
<select id="selectDetailVOsById" resultMap="DetailResultVOMap" parameterType="string"> SELECT * FROM DETAIL where ID=#{ID} ``` 这段代码中,`#{ID}`参数被用来过滤出特定的`DetailVO`对象,并通过`...
MyBatis resultMap 详解 MyBatis 中的 resultMap 是一个非常重要的概念,它负责将查询...MyBatis 的 resultMap 是一个非常强大的工具,它可以帮助我们将查询结果映射到 Java 对象中,使得我们的开发更加方便和高效。
本主题聚焦于如何根据MyBatis的ResultMap来生成增删改(CRUD)SQL语句。ResultMap是MyBatis的核心组件之一,用于解决对象关系映射的复杂性,比如一对一、一对多、多对多等关联关系的处理。 首先,ResultMap的概念。...
在本文中,我们将详细介绍MyBatis中传入参数parameterType类型的相关内容,包括基本数据类型和复杂数据类型,并提供了相关的示例代码。 基本数据类型 在MyBatis中,基本数据类型包括int、string、long、Date等类型...
以下是几种常用的parameterType参数传递方式以及#和$在Mybatis中传参的区别。 1. 使用依次顺序传参: 在这种方式中,参数按照顺序传递,SQL语句中使用#{参数索引}来引用参数。例如,有一个查询用户的方法,用户名...
在MyBatis中,resultType和resultMap是两种不同的方式,用于处理SQL查询结果到Java对象的映射。这两种方式各有特点,适用于不同场景。 **一、resultType** resultType是MyBatis中最简单的结果映射方式,它直接指定...
MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在这个"MyBatis完整案例(增删改查)"中,我们将深入探讨MyBatis如何...
8. **参数映射**:myBatis的ParameterMap和ParameterType元素用于处理SQL的输入参数,可以是简单的值、Java对象或者自定义的参数类型。 9. **插件机制**:myBatis提供插件功能,开发者可以通过自定义Interceptor...
本资料主要探讨的是MyBatis中的两个关键标签:`select`和`resultMap`,这两个标签在映射文件中起着至关重要的作用。 `select`标签是MyBatis用于执行SQL查询的标签,它允许我们将SQL语句嵌入到XML配置文件中。`...
每个元素对应一个Java方法,通过`id`属性标识,`resultMap`定义了结果集的映射,`parameterType`和`resultType`分别指定了参数类型和返回结果类型。 4. **注解方式** 除了XML配置,Mybatis还支持注解方式,可以...
4. 结果映射:Mybatis支持自定义结果集映射,可以通过`resultMap`标签定义复杂的结果映射关系,包括一对一、一对多、多对一、多对多的关联映射。 5. 映射缓存:Mybatis内置了本地缓存和二级缓存机制,可以提高数据...
它们可以包含parameterType和resultType属性,分别指明输入参数类型和返回结果类型。 5. **parameterMap**:虽然在MyBatis3中已不再推荐使用,但在旧版本或复杂场景下,它用于定义参数集合,通过name属性与传入的...
在MyBatis的配置过程中,有两个非常重要的DTD(Document Type Definition)文件,即`mybatis-3-config.dtd`和`mybatis-3-mapper.dtd`。这些DTD文件定义了MyBatis配置文件的结构和元素,是理解MyBatis配置的关键。 `...
此外,还可以使用parameterType和resultType来指定输入参数和返回结果的类型。 8、参数传递 Mybatis支持多种参数传递方式,包括基本类型、对象、Map等。使用#{paramName}占位符,Mybatis会自动处理参数绑定,避免...
Mybatis实现多表联合查询和批量插入 Mybatis是一款流行的持久层框架,它可以帮助开发者快速、高效地访问数据库。在实际开发中,经常需要对多个表进行联合查询,或者对大量数据进行批量插入。本文将详细介绍如何使用...
在MyBatis中,`mybatis-3-config.dtd` 和 `mybatis-3-mapper.dtd` 是两个关键的DTD文件,它们分别用于配置MyBatis的核心设置和映射器接口。 首先,我们来看`mybatis-3-config.dtd`。这个文件定义了MyBatis配置文件...
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...
<select id="findById" parameterType="Integer" resultMap="BooksResultMap"> select * from BOOKS where BOOK_ID = #{id} ``` #### 三、Spring配置与集成 在Spring中配置`MapperFactoryBean`来实现MyBatis...
使用@Param和@Result注解,或者在XML文件中配置parameterType和resultType,可以指定输入参数和输出结果的类型。对于复杂类型的映射,还可以使用association和collection元素处理一对多、一对一的关系。 事务管理在...