MyBatis查询功能(二)

2023-05-15 13:29:48 浏览数 (1)

三、参数传递

在MyBatis中,参数传递方式有多种,其中常见的方式如下:

位置参数

位置参数是指按照参数在方法参数列表中的位置进行传递,例如:

代码语言:javascript复制
<select id="getUserById" parameterType="int" resultType="User">
    select * from user where id = #{0}
</select>

在上面的代码中,使用#{0}表示按照位置传递参数。

命名参数

命名参数是指使用参数名进行传递,例如:

代码语言:javascript复制
<select id="getUserByNameAndGender" parameterType="map" resultType="User">
    select * from user where name = #{name} and gender = #{gender}
</select>

在上面的代码中,使用#{name}和#{gender}表示按照参数名传递参数。

POJO参数

POJO参数是指将Java对象作为参数进行传递,例如:

代码语言:javascript复制
public class User {
    private int id;
    private String name;
    private String gender;
    // 省略getter和setter方法
}

<select id="getUserById" parameterType="User" resultType="User">
    select * from user where id = #{id}
</select>

在上面的代码中,将User对象作为参数传递给getUserById查询语句。

Map参数

Map参数是指将参数封装在Map中进行传递,例如:

代码语言:javascript复制
<select id="getUserByNameAndGender" parameterType="map" resultType="User">
    select * from user where name = #{name} and gender = #{gender}
</select>

在上面的代码中,使用Map参数进行参数传递。

0 人点赞