目錄
問題內容
解決方法
首頁 Java 需要@Bind嗎?

需要@Bind嗎?

Feb 11, 2024 pm 01:57 PM

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

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)