三、参数传递
在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参数进行参数传递。