php小编百草在这里为大家解答一个常见的问题:“需要@bind吗?”对于初学者来说,@bind是一个常见的注解,在某些框架和库中使用。但是,在php中,并不需要使用@bind注解。php是一种动态语言,不需要显式地绑定函数或方法的参数。函数和方法的参数会根据调用时传入的实际参数进行绑定。因此,在php中,不需要使用@bind注解来进行参数绑定。希望对大家有所帮助!
我偶然发现,在 spring boot 项目中,我不必在像下面这样的查询中绑定参数。
@sqlquery(""" select id, name from organisations where id = :id """) @registerrowmapper(organisationmapper.class) organisation getorgansation(@bind("id") string id);
这有效:
@SqlQuery(""" select id, name from organisations where id = :id """) @RegisterRowMapper(OrganisationMapper.class) Organisation getOrgansation(String id);
但是,当我升级另一个项目(而不是 spring boot 项目)以使用 3.43.0 时,我无法删除绑定。
有没有人有一个很好的解释,为什么我可以在没有 spring boot 项目中的绑定的情况下让查询工作,但在普通的 java 项目中却不能? (除了明显的解释,魔术)。有什么技巧可以用来跳过绑定吗?
只有在使用 javac 标志 -parameters 编译代码时才能省略该注释。很可能第一个项目正在使用该标志进行编译,而另一个项目则没有。
Java 8 中引入了 -parameters 标志。如果使用该标志,则方法的变量名称将在运行时可用于反射。当JDBI可以通过反射推断变量名为id时,不需要@Bind注解来明确它是针对查询参数id的。
另请查看参考文档的相应部分:https://www.php.cn/link/8012c0dd4aa84ef92dfa2de0c7163b5a
以上就是需要@Bind吗?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号