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

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

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

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

1.接口方法只有一個參數

完全沒必要使用@Param注解

例:

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

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

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

2.接口方法有多個參數

推薦使用@Param注解進行參數綁定

例:

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整合過程關于@Param注解使用的一些細節(jié)

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

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

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

例如:

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

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

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

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

相關文章

  • Spring實現加法計算器和用戶登錄功能

    Spring實現加法計算器和用戶登錄功能

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

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

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

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

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

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

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

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

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

    SpringBoot中TransactionTemplate事務管理的實現

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

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

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

    Java Swing JButton按鈕的實現示例

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

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

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

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

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

最新評論

鹿泉市| 黎城县| 莆田市| 勃利县| 曲麻莱县| 九龙县| 灵川县| 恩施市| 特克斯县| 灌南县| 东安县| 新蔡县| 如皋市| 平顺县| 雷山县| 当雄县| 日喀则市| 阳谷县| 永清县| 安宁市| 林口县| 枣强县| 犍为县| 永济市| 民和| 宜良县| 新乐市| 鹰潭市| 资中县| 新乐市| 鹰潭市| 广宁县| 中超| 西乌珠穆沁旗| 博白县| 襄垣县| 徐州市| 惠安县| 蒲城县| 石景山区| 凭祥市|