這篇文章將為大家詳細(xì)講解有關(guān)如何在ssm的dao接口中使用@Param注解,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
在瑞麗等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)整合營(yíng)銷推廣,外貿(mào)網(wǎng)站建設(shè),瑞麗網(wǎng)站建設(shè)費(fèi)用合理。@Param 注解的用處:為了接口中方法的形參與xml文件中sql語(yǔ)句中的條件參數(shù)綁定
完全沒(méi)必要使用@Param注解
例:
public interface PaperDao { Paper queryById(long id); }
此時(shí)相應(yīng)的xml文件中,#{}中可以填寫任意名稱
推薦使用@Param注解進(jìn)行參數(shù)綁定
例:
public interface PaperDao { Paper queryById(@Param("id") long id,@Param("name") String name);}
xm文件:
補(bǔ)充:SSM整合過(guò)程關(guān)于@Param注解使用的一些細(xì)節(jié)
1.首先先聲明一下該注解的功能,就是給參數(shù)進(jìn)行命名來(lái)找到對(duì)應(yīng)參數(shù),
舉個(gè)例子(例如在Mybatis的XXXMapper.xml文件中針對(duì)某個(gè)sql語(yǔ)句 比如根據(jù)id來(lái)查詢某個(gè)實(shí)體,那么假如我們傳入的參數(shù)列名為id,但是實(shí)體類的column確實(shí)userID,這時(shí)候我們可以將參數(shù)就行命名為userID,
這時(shí)候我們就可以根據(jù)這個(gè)命名找到該參數(shù),類似于該參數(shù)的一個(gè)“id”的感覺(jué),這樣就可以將參數(shù)正確的注入sql語(yǔ)句中。
例如:
public int getUserDetail(@Param("userId") int id); //這里我們就可以利用#{userId}來(lái)獲取到id的值 在執(zhí)行sql語(yǔ)句時(shí)候
還有一個(gè)好處就是使用該注解來(lái)聲明參數(shù)時(shí),使用#{}和KaTeX parse error: Expected 'EOF', got '#' at position 25: …會(huì)報(bào)錯(cuò),但是不使用的話就只能用#?{}(一般多數(shù)情況都是#{},…${}會(huì)產(chǎn)生sql注入的問(wèn)題。
但是這里我總結(jié)一個(gè)我用這個(gè)注解時(shí)候遇到的一個(gè)很坑的問(wèn)題,就是在你調(diào)用某個(gè)帶有@Param注解的函數(shù)的時(shí)候,傳參數(shù)的時(shí)候就會(huì)報(bào)錯(cuò),這點(diǎn)需要注意
關(guān)于如何在ssm的dao接口中使用@Param注解就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。