mybatis之Param注解
一、作用
使用@Param注解
表示给参数命名,名称就是括号中的内容。给参数命名,然后在映射文件中就能根据名称获取参数值了。在mybatis中我们常常要使用到多个参数,但是在xml中的parameterType往往只能指定一个参数类型。为了解决这个问题,我们可以在dao的接口中使用@param注解,多个参数可以使用多个@param注解。这样就可以将参数传入mybatis的sql语句中了。使用的时候就不用在xml中继续使设置parameterType属性了。
二、使用
1.方法有多个参数,必须使用@Param 注解,例如:
public interface UserMapper { int addUser(@Param("id") int id, @Param("name") String name, @Param("pwd") String pwd); }
对应的xml如下:
<insert id="addUser" > INSERT INTO mybatis.user(id, name, pwd) VALUES (#{id},#{name},#{pwd}) </insert>
注意:
1.使用了@Param注解后,引用参数的值就只能用注解括号里的名字去引用参数,而不能使用定义给参数的名字。例如下边这条语句,我们要引用int类型的参数,我们只能同过id2去引用它,而不能用id1:
int addUser(@Param("id2") int id1)
2.基本类型和String类型的参数需要加上,引用类型不需要加。
3.有时MyBatis 方法只有一个基本类型参数,可以忽略,但建议还是加上