9.4 深入Mapper XML映射文件 9.4.4 参数 Parameters标签

9.4 深入Mapper XML映射文件 9.4.4 参数 Parameters标签

前面的所有语句中所见到的都是简单参数的例子,实际上参数是MyBatis非常强大的元素。

传入简单参数

对于简单参数的使用,大多数情况下参数都很少,例如:

1
2
3
4
5
<select id="selectUser" parameterType="int" resultType="User">
select id,username,password
from users
where id=#{id}
<select>

上面的这个示例说明了一个非常简单的命名参数映射。参数类型被设置为int,这样这个参数就可以被设置成任何内容。原生的类型或简单数据类型(比如整型和字符串),因为没有相关属性,会完全用参数值来替代。

传入对象

但是,如果传入一个复杂的对象(比如User),行为就会有一点不同了。例如:

1
2
3
4
<insert id="insertUser" parameterType="User">
insert into users(id,username,password)
value(#{id},#{username},#{password})
</insert>

如果User类型的参数对象被传递到了语句中,如#{id}语句则会查找参数对象Userid属性,#{username}#{password}也是一样,然后将它们的值传入预处理语句的参数中。