MyBatis传递多个入参及sql元素

在 基于XML的Mapper配置 —— resultType 和 resultMap 中我们主要以 select 方法为例,在 select 参数中,我们是使用 parameterType 传入参数的
MyBatis传递多个入参及sql元素_第1张图片

上述的例子我们是指参入了一个参数,那么如果我们需要传入多个参数呢?


使用map传递参数

可读性差,导致可维护性和可扩展性差,不建议使用,阿里巴巴开发手册中也有相关说明
在这里插入图片描述


使用map传递参数的方法如下:
MyBatis传递多个入参及sql元素_第2张图片
MyBatis传递多个入参及sql元素_第3张图片
MyBatis传递多个入参及sql元素_第4张图片


使用注解传递参数

直观明了,当参数较少一般小于5个的时候,建议使用;
在这里插入图片描述
MyBatis传递多个入参及sql元素_第5张图片

这里建议使用 @Param 注解,而不建议直接使用 0、1、2 . . . 等方式进行使用。

在这里插入图片描述


使用Java Bean的方式传递参数

当参数大于5个的时候,建议使用;

package com.kami.model;
public class UserCondition {
    private String sex;
    private int age;
    //省略Getter、Setter方法
    ...

MyBatis传递多个入参及sql元素_第6张图片
MyBatis传递多个入参及sql元素_第7张图片
MyBatis传递多个入参及sql元素_第8张图片




sql元素

sql元素: 用来定义可重用的 SQL 代码段,可以包含在其他语句中。


如我们之前举的演示例子来看,有很多重复的地方
MyBatis传递多个入参及sql元素_第9张图片

类似于这些重复的地方,我们就可以用 sql 元素来简化
MyBatis传递多个入参及sql元素_第10张图片

一般我们使用较多的地方就 where 条件,比如在业务中,我们可能多个地方需要用到条件查询,我们在 sql 元素内设置一些动态的 sql 语句来满足多个条件,这样我们就可以满足不同条件下的查询
MyBatis传递多个入参及sql元素_第11张图片

你可能感兴趣的:(MyBatis)