首页 > 其他分享 >mybatis如何传参数

mybatis如何传参数

时间:2024-04-09 14:22:48浏览次数:23  
标签:userQuery Java name age Param 如何 参数 mybatis

MyBatis 提供了多种传参方式,以适应不同的查询需求。以下是一些常用的传参方法:

1. 单个参数

当查询只需要一个参数时,可以直接传递该参数。

Mapper XML:

xml<select id="findUserById" resultType="User">
SELECT * FROM user WHERE id = #{id}
</select>

Java 接口:

javaUser findUserById(int id);

2. 多个参数

当需要传递多个参数时,可以使用以下几种方法:

使用 Map

传递一个 Map 对象,其中键是参数名,值是参数值。

Mapper XML:

xml<select id="findUserByNameAndAge" resultType="User">
SELECT * FROM user WHERE name = #{name} AND age = #{age}
</select>

Java 接口:

javaUser findUserByNameAndAge(Map<String, Object> params);

Java 调用:

javaMap<String, Object> params = new HashMap<>();
params.put("name", "Alice");
params.put("age", 30);
userMapper.findUserByNameAndAge(params);

使用 @Param 注解

在接口方法参数上使用 @Param 注解来指定参数名。

Mapper XML:

xml<select id="findUserByNameAndAge" resultType="User">
SELECT * FROM user WHERE name = #{name} AND age = #{age}
</select>

Java 接口:

javaUser findUserByNameAndAge(@Param("name") String name, @Param("age") int age);

Java 调用:

javauserMapper.findUserByNameAndAge("Alice", 30);

3. 复杂对象

当需要传递一个复杂对象作为参数时,可以直接传递该对象。

Java 类:

javapublic class UserQuery {
private String name;
private int age;
// getters and setters
}

Mapper XML:

xml<select id="findUserByQuery" resultType="User">
SELECT * FROM user WHERE name = #{query.name} AND age = #{query.age}
</select>

Java 接口:

javaUser findUserByQuery(UserQuery query);

Java 调用:

javaUserQuery query = new UserQuery();
query.setName("Alice");
query.setAge(30);
userMapper.findUserByQuery(query);

4. 使用 @Param 注解传递复杂对象

当传递复杂对象时,也可以使用 @Param 注解来指定参数名。

Mapper XML:

xml<select id="findUserByQuery" resultType="User">
SELECT * FROM user WHERE name = #{userQuery.name} AND age = #{userQuery.age}
</select>

Java 接口:

javaUser findUserByQuery(@Param("userQuery") UserQuery userQuery);

Java 调用:

javaUserQuery userQuery = new UserQuery();
userQuery.setName("Alice");
userQuery.setAge(30);
userMapper.findUserByQuery(userQuery);

这些传参方式可以根据具体的需求和场景灵活选择。

标签:userQuery,Java,name,age,Param,如何,参数,mybatis
From: https://www.cnblogs.com/wzihan/p/18123877

相关文章

  • CommMonitor 如何关闭监控会话?
    CommMonitor如何关闭监控会话?1、通过工具栏上的[关闭会话]或打开菜单->文件->关闭会话,如下图:2、如果当前会没有监控数据的话,会直接关闭当前各个视图,如果有监控数据并没有保存过,就会提示是否保存会话?3、选择[是]->保存->弹出保存或另存为对话框,选择你要保存的位置->填写......
  • CommMonitor 如何开始、暂停、停止监控串口?
    CommMonitor如何开始、暂停、停止监控串口?1、通过工具栏上的[开始监控、暂停监控、停止监控]或打开菜单->监控,如下图:开启监控:指内核驱动正式捕获串口数据,数据包序号计数开始;暂停监控:指内核驱动暂停捕获串口数据;停止监控:指内核驱动停止捕获串口数据并重置数据缓存,数据包序......
  • Android车载开发前景如何?
    前言随着智能汽车的不断普及和智能化程度不断提高,各大车企都想拥有自己的车载系统,也有大量车企采用Android系统的车载设备,所以说,Android车载开发的前景如何呢?一、Android车载开发现状如何?1、智能化和自动化趋势随着智能汽车市场的扩大,车载智能座舱等智能化组件将成为未......
  • CommMonitor 如何保存监控会话?
    CommMonitor如何保存监控会话?1、通过工具栏上的[保存]或打开菜单->文件->保存会话,如下图:2、然后弹出保存或另存为对话框,选择你要保存的位置->填写文件名->保存->完成。......
  • 程序员如何搞副业?
    程序员是当今社会中备受瞩目的职业之一。他们不仅拥有将抽象概念转化为实际应用的能力,还通常具备强大的逻辑思维和问题解决能力。然而,许多程序员并不满足于仅仅在一家公司工作,他们渴望通过副业来实现个人价值的最大化,增加收入,甚至探索自己的创业梦想。程序员的工作本质上是将......
  • 如何卸载CommMonitor串口监控软件?
    如何卸载CommMonitor串口监控软件?1、Windows7系统可以通过控制面板->卸截程序,如下图:2、开始菜单处卸截->CEIWEI菜单如下图:3、Windows10系统:开始菜单->CEIWEI菜单如下图:......
  • CommMonitor如何监控电脑串口
    CommMonitor如何监控电脑串口?1、新建、打开监控会话打开CEIWEICommMonitor软件,点击工具栏上的[+]添加新监控会话,接下来进入新建监控对话框-〉选择要监控的串口-〉选择数据视图后,点击[确定]。2、监控的串口选择支持多个串口同时监控,如下图3、视图窗口说明a)列......
  • Dify开源大语言模型(LLM) 应用开发平台如何使用Docker部署与远程访问
    文章目录1.Docker部署Dify2.本地访问Dify3.Ubuntu安装Cpolar4.配置公网地址5.远程访问6.固定Cpolar公网地址7.固定地址访问本文主要介绍如何在LinuxUbuntu系统以Docker的方式快速部署Dify,并结合cpolar内网穿透工具实现公网远程访问本地Dify!Dify是一款开......
  • 获取浏览器地址栏参数
    1234function getURLParameter(name){return decodeURIComponent((new RegExp('[?|&]' +name+ '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;......
  • Origin2022中文版如何绘制反向双轴柱状图?
    柱形图是科研中经常用到的,今天给大家分享创建反向双轴柱状图,可直观的在同一图表中展示两组正负数据,且即使两组数值差异较大也可正常显示,比文字描述更清晰操作步骤:1、打开Origin2022软件,在Book1中输入如下示例数据 2、选中所有数据 3、点击菜单栏中【绘图】→【柱形图,饼......