最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于ssm中dao接口@Param注解的用法

 更新時間:2021年02月07日 14:52:18   作者:Chenmoooooooooo  
這篇文章主要介紹了基于ssm中dao接口@Param注解的用法,具有很好的參考價值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

@Param 注解的用處:為了接口中方法的形參與xml文件中sql語句中的條件參數(shù)綁定

1.接口方法只有一個參數(shù)

完全沒必要使用@Param注解

例:

public interface PaperDao {
  Paper queryById(long id);
} 

此時相應(yīng)的xml文件中,#{}中可以填寫任意名稱

 
<select id="queryById" parameterType="long" resultMap="resultMap1">
  SELECT paper_id,name,number,detail
  FROM paper
  WHERE paper_id=#{id}
</select>

2.接口方法有多個參數(shù)

推薦使用@Param注解進行參數(shù)綁定

例:

public interface PaperDao {
  Paper queryById(@Param("id") long id,@Param("name") String name);}

xm文件:

<select id="queryById" parameterType="long" resultMap="resultMap1">
  SELECT paper_id,name,number,detail
  FROM paper
  WHERE paper_id=#{id} AND name=#{name}
</select>

補充:SSM整合過程關(guān)于@Param注解使用的一些細(xì)節(jié)

1.首先先聲明一下該注解的功能,就是給參數(shù)進行命名來找到對應(yīng)參數(shù),

舉個例子(例如在Mybatis的XXXMapper.xml文件中針對某個sql語句 比如根據(jù)id來查詢某個實體,那么假如我們傳入的參數(shù)列名為id,但是實體類的column確實userID,這時候我們可以將參數(shù)就行命名為userID,

這時候我們就可以根據(jù)這個命名找到該參數(shù),類似于該參數(shù)的一個“id”的感覺,這樣就可以將參數(shù)正確的注入sql語句中。

例如:

public int getUserDetail(@Param("userId") int id);
//這里我們就可以利用#{userId}來獲取到id的值 在執(zhí)行sql語句時候

還有一個好處就是使用該注解來聲明參數(shù)時,使用#{}和KaTeX parse error: Expected 'EOF', got '#' at position 25: …會報錯,但是不使用的話就只能用#̲{}(一般多數(shù)情況都是#{},…${}會產(chǎn)生sql注入的問題。

但是這里我總結(jié)一個我用這個注解時候遇到的一個很坑的問題,就是在你調(diào)用某個帶有@Param注解的函數(shù)的時候,傳參數(shù)的時候就會報錯,這點需要注意

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Spring實現(xiàn)加法計算器和用戶登錄功能

    Spring實現(xiàn)加法計算器和用戶登錄功能

    在前后端分離的Web開發(fā)模式中,接口(API)扮演著至關(guān)重要的角色,它是前后端交互的橋梁,創(chuàng)建加法計算器和用戶登錄功能時,介紹了接口測試和問題解決的一般流程,如使用Postman測試接口、查看日志、處理緩存問題等,確保開發(fā)過程中的高效協(xié)作和問題快速定位
    2024-10-10
  • Java多線程并發(fā)之線程池任務(wù)請求攔截測試實例

    Java多線程并發(fā)之線程池任務(wù)請求攔截測試實例

    這篇文章主要介紹了Java多線程并發(fā)之線程池任務(wù)請求攔截測試實例,隊列中永遠(yuǎn)沒有線程被加入,即使線程池已滿,也不會導(dǎo)致被加入排隊隊列,實現(xiàn)了只有線程池存在空閑線程的時候才會接受新任務(wù)的需求,需要的朋友可以參考下
    2023-12-12
  • MyBatis實現(xiàn)動態(tài)SQL的實現(xiàn)方法

    MyBatis實現(xiàn)動態(tài)SQL的實現(xiàn)方法

    這篇文章主要介紹了MyBatis實現(xiàn)動態(tài)SQL的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 淺析Java單例設(shè)計模式(自寫demo)

    淺析Java單例設(shè)計模式(自寫demo)

    Java單例模式是看起來以及用起來簡單的一種設(shè)計模式,但是就實現(xiàn)方式以及原理來說,也并不淺顯,下面這篇文章主要給大家詳細(xì)介紹了Java中單例模式,需要的朋友可以參考下
    2021-12-12
  • Java 自定義Spring框架與核心功能詳解

    Java 自定義Spring框架與核心功能詳解

    Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)
    2021-10-10
  • SpringBoot中TransactionTemplate事務(wù)管理的實現(xiàn)

    SpringBoot中TransactionTemplate事務(wù)管理的實現(xiàn)

    Spring Boot提供了多種方式來管理事務(wù),其中之一是使用TransactionTemplate,本文主要介紹了SpringBoot中TransactionTemplate事務(wù)管理的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 詳解Spring Boot中使用@Scheduled創(chuàng)建定時任務(wù)

    詳解Spring Boot中使用@Scheduled創(chuàng)建定時任務(wù)

    本篇文章中主要介紹了Spring Boot中使用@Scheduled創(chuàng)建定時任務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Java Swing JButton按鈕的實現(xiàn)示例

    Java Swing JButton按鈕的實現(xiàn)示例

    這篇文章主要介紹了Java Swing JButton按鈕的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 關(guān)于jd-gui啟動報This?program?requires?Java?1.8+的錯誤問題及解決方法

    關(guān)于jd-gui啟動報This?program?requires?Java?1.8+的錯誤問題及解決方法

    最近,在Mac使用上JD-GUI啟動時總是報錯,接下來通過本文給大家介紹關(guān)于jd-gui啟動報this?program?requires?Java?1.8+的錯誤問題及解決方法,需要的朋友可以參考下
    2022-05-05
  • springboot在filter中如何用threadlocal存放用戶身份信息

    springboot在filter中如何用threadlocal存放用戶身份信息

    這篇文章主要介紹了springboot中在filter中如何用threadlocal存放用戶身份信息,本文章主要描述通過springboot的filter類,在過濾器中設(shè)置jwt信息進行身份信息保存的方法,需要的朋友可以參考下
    2024-07-07

最新評論

正宁县| 仁寿县| 鹤庆县| 巴里| 英德市| 泸西县| 门头沟区| 周宁县| 招远市| 锡林浩特市| 桂平市| 濮阳市| 集安市| 石林| 弥渡县| 桂阳县| 晋中市| 吐鲁番市| 越西县| 抚顺县| 濮阳县| 成安县| 信丰县| 天柱县| 莱阳市| 清远市| 西宁市| 大丰市| 长宁县| 麦盖提县| 营口市| 青岛市| 天等县| 砚山县| 上虞市| 金溪县| 定州市| 博野县| 花莲县| 凌源市| 秀山|