MyBatis中传入参数parameterType类型详解
MyBatis是一款流行的持久层框架,它提供了一个灵活的方式来与数据库交互。在MyBatis中,parameterType类型是Mapper文件中的一个重要属性,它用于指定Mapper接口方法接受的参数类型。在本文中,我们将详细介绍MyBatis中传入参数parameterType类型的相关内容,包括基本数据类型和复杂数据类型,并提供了相关的示例代码。
基本数据类型
在MyBatis中,基本数据类型包括int、string、long、Date等类型。这些类型可以直接在Mapper文件中使用,例如:
```xml
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
select
<include refid="Base_Column_List" />
from common_car_make
where id = #{id,jdbcType=BIGINT}
</select>
```
在上面的示例代码中,parameterType类型是java.lang.Long,它表示Mapper接口方法接受的参数类型是Long。
复杂数据类型
在MyBatis中,复杂数据类型包括类和Map等类型。这些类型可以在Mapper文件中使用,例如:
```xml
<select id="queryCarMakerList" resultMap="BaseResultMap" parameterType="java.util.Map">
select
<include refid="Base_Column_List" />
from common_car_make cm
where 1=1
<if test="id != null">
and cm.id = #{id,jdbcType=DECIMAL}
</if>
...
</select>
```
在上面的示例代码中,parameterType类型是java.util.Map,它表示Mapper接口方法接受的参数类型是Map。
获取参数中的值
在MyBatis中,可以使用#{参数}的方式来获取参数中的值,例如:
```xml
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
select
<include refid="Base_Column_List" />
from common_car_make
where id = #{id,jdbcType=BIGINT}
</select>
```
在上面的示例代码中,使用#{id}的方式来获取参数中的值。
案例
下面是一些示例代码,演示了如何使用parameterType类型:
```xml
<!-- 基本数据类型 -->
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
select
<include refid="Base_Column_List" />
from common_car_make
where id = #{id,jdbcType=BIGINT}
</select>
<!-- 复杂类型--map类型 -->
<select id="queryCarMakerList" resultMap="BaseResultMap" parameterType="java.util.Map">
select
<include refid="Base_Column_List" />
from common_car_make cm
where 1=1
<if test="id != null">
and cm.id = #{id,jdbcType=DECIMAL}
</if>
...
</select>
<!-- 复杂类型--类类型 -->
<update id="updateByPrimaryKeySelective" parameterType="com.epeit.api.model.CommonCarMake" >
update common_car_make
<set >
<if test="carDeptName != null" >
car_dept_name = #{carDeptName,jdbcType=VARCHAR},
</if>
...
</set>
where id = #{id,jdbcType=BIGINT}
</update>
```
parameterType类型是MyBatis中一个重要的属性,它用于指定Mapper接口方法接受的参数类型。了解parameterType类型的使用可以帮助开发者更好地使用MyBatis框架。