在mybatis中的mapper.xml中如何使用parameterType实现方法单个传参,对象传参,多参数传参.

在MyBatis的`mapper.xml`文件中,可以使用`parameterType`属性来指定方法的参数类型。`parameterType`属性用于指定传递给映射方法的参数类型,这将影响到MyBatis在映射方法执行时如何处理参数。

以下是三种不同情况下如何在`mapper.xml`中使用`parameterType`实现方法单个传参、对象传参和多参数传参的示例:

1. 方法单个传参:

如果方法只需要一个参数,你可以将`parameterType`设置为具体的Java类型。例如,假设你的方法需要一个整数作为参数:

```xml

XML 复制代码
<!-- mapper.xml -->
<select id="getEntityById" resultType="Entity" parameterType="int">
    SELECT * FROM entity_table WHERE id = #{id}
</select>

```

2. 对象传参:

如果方法需要一个Java对象作为参数,你可以将`parameterType`设置为该Java对象的类名。这样,在SQL语句中可以使用对象的属性来引用参数。

假设有一个Java对象`User`,具有`id`和`username`属性:

```xml

XML 复制代码
<!-- mapper.xml -->
<select id="getUserByUsername" resultType="User" parameterType="User">
    SELECT * FROM user_table WHERE username = #{username}
</select>

```

3. 多参数传参:

如果方法需要多个参数,你可以使用Map或者使用注解来指定参数。如果使用Map,可以将`parameterType`设置为`java.util.Map`。如果使用注解,可以在方法参数前使用`@Param`注解。

使用Map的示例:

```xml

XML 复制代码
<!-- mapper.xml -->
<select id="getUsersByAgeAndName" resultType="User" parameterType="java.util.Map">
    SELECT * FROM user_table WHERE age = #{age} AND username = #{name}
</select>

```

使用注解的示例:

```java

java 复制代码
// Mapper interface
public interface UserMapper {
    List<User> getUsersByAgeAndName(@Param("age") int age, @Param("name") String name);
}

```

```xml

XML 复制代码
<!-- mapper.xml -->
<select id="getUsersByAgeAndName" resultType="User" parameterType="int">
    SELECT * FROM user_table WHERE age = #{age} AND username = #{name}
</select>
相关推荐
敲个大西瓜5 天前
mybatis拦截器插件实现数据库字段加解密
mybatis
tianyuanwo5 天前
深入解析 RISC-V 虚拟化中的 UEFI 固件配置:从 XML 到 NVRAM 的生命周期管理
xml·linux·risc-v
武子康5 天前
Java-28 深入浅出 Spring 实现简易Ioc-04 在上节的业务下手动实现AOP
java·后端·mybatis
一条泥憨鱼5 天前
苍穹外卖【day6|微信登录与商品浏览功能】
后端·mybatis·苍穹外卖
vx-Biye_Design5 天前
springboot安阳地区研学旅游服务小程序-计算机毕业设计源码12785
java·vue.js·windows·spring boot·tomcat·maven·mybatis
摇滚侠5 天前
MyBatis+Spring+SpringMVC SSM 整合 179-185
java·spring·mybatis
摇滚侠5 天前
MyBatis+Spring+SpringMVC SSM ContextLoaderListener 177-178
java·spring·mybatis
Spring小子6 天前
【Spring Boot + Vue + DeepSeek】从零打造一个AI驱动的智能健康分析系统
java·spring boot·mybatis
武子康6 天前
Java-27 深入浅出 Spring - 实现简易Ioc-03 在上节的业务下手动实现IoC 从 XML 配置到 BeanFactory 反射注入
java·后端·mybatis