作用
@Param是MyBatis的注解(org.apache.ibatis.annotations.Param),作为Dao层的注解
用于 传递参数,可以与mapper.xml文件的SQL的字段名相对应
当传递参数数量在 2-5 个时,使用最佳
传递一个参数(参数是基本数据类型)
传递一个参数,且是基本数据类型时(String、int、float等),不需要该注解,因为传递一个值也只有一个参数可以匹配
传递多个参数
@Mapper
public interface UserMapper {
Integer insert(@Param("username") String username, @Param("password") String password);
对应的 XML 文件如下:
<insert id="insert">
insert into user (username,password) values (#{username},#{password});
</insert>
传递多个参数,取别名
当需要给参数取一个别名的时候,可通过 @Param 注解设置
@Mapper
public interface UserMapper {
User getUserByUsername(@Param("name") String username);
}
对应的 XML 定义如下:
<select id="getUserByUsername" >
select * from user where username=#{name};
</select>
注意:
传递java对象
public int add(@Param("u")User user);
<insert id="add" parameterType="top.malaoshi.entity.User">
insert into user (id,username,password)
values (#{u.id},#{u.username},#{u.password})
</insert>
注意:上面的#{u.id}中的u就是add(@Param("u")User user);中的u
