用法
由Mybatis提供,在Dao层使用,用于向xml文件中的SQL语句传递参数。
在Dao层使用
@param(“studentName”) String namexml可以使用#{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版权协议,转载请附上原文出处链接和本声明。