Java注解 —— @Param

用法

由Mybatis提供,在Dao层使用,用于向xml文件中的SQL语句传递参数。

在Dao层使用

@param(“studentName”) String name

xml可以使用#{studentName}进行映射。

xml中使用的是@Param注解括号内的参数。

疑问

为什么Dao层部分方法中参数不需要使用@Param注解

当方法只有一个参数,并且是Javabean时,在SQL语句中可以直接引用该参数的属性。

在项目中常表现为参数是某个实体类,比如现有实体类Student。

public class Student implements Serializable {
    private static final long serialVersionUID = 5633476135949271973L;
    
    /**
     * 学生学号
     */
    private Integer id;
    /**
     * 学生姓名
     */
    private String name;
    /**
     * 学生年龄
     */
    private String age;
}

在Dao层中可直接使用student的id查询student的姓名。

//id会直接取传入student中的id
@Select("SELECT name from Table where id = #{id}")
String selectStudentNameById(Student student);

注意

当不使用@Param注解来声明参数时,必须使用使用 #{}方式。如果使用 ${} 的方式,会报错。


版权声明:本文为xue_xiaofei原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。