SpringDataJPA - 在下面的查询中,where 子句中的'?1'是什么意思?


@Query(value="select * from author a where a.last_name= ?1",nativeQuery = true)

什么?1在上述查询中的平均值?

?1表示位置参数是定义查询参数以避免SQL注入等问题的不同做法,例如:

  • 命名参数:
String statment = "SELECT * from Users WHERE name=:nameParam and role=:roleParam";
//some code
query.setString("nameParam", nameValue);
query.setString("roleParam", roleValue);
  • 位置参数:
String statment = "SELECT * from Users WHERE name=?1 and role=?2";

//some code
query.setString(1, nameValue);
query.setString(2, roleValue);

相关内容

最新更新