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中文網其他相關文章!