欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring?Boot中常用的參數(shù)傳遞注解示例詳解

 更新時(shí)間:2023年11月21日 14:55:47   作者:明月一壺酒  
這篇文章主要介紹了Spring?Boot中常用的參數(shù)傳遞注解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Spring Boot中常用的參數(shù)傳遞注解

@RequestParam:用于將請(qǐng)求參數(shù)綁定到控制器處理方法的參數(shù)上,適用于GET請(qǐng)求。@PathVariable:用于獲取請(qǐng)求URL中的動(dòng)態(tài)參數(shù),適用于RESTful風(fēng)格的URL。@RequestBody:用于將請(qǐng)求體中的JSON字符串綁定到控制器處理方法的參數(shù)上。@RequestHeader:用于將請(qǐng)求頭中的信息綁定到控制器處理方法的參數(shù)上。@ModelAttribute:用于將請(qǐng)求參數(shù)綁定到一個(gè)對(duì)象上,適用于POST請(qǐng)求。@RequestAttribute:用于將請(qǐng)求屬性綁定到控制器處理方法的參數(shù)上。

當(dāng)你使用了@Param注解來(lái)聲明參數(shù)時(shí),如果使用 #{} 或 ${} 的方式都可以。如果不使用@Param注解來(lái)聲明參數(shù)時(shí),必須使用 #{}方式。如果使用 ${} 的方式,會(huì)報(bào)錯(cuò)。

示例代碼如下:

// 使用@RequestParam注解傳參
@GetMapping("/user")
public String getUser(@RequestParam("id") Long id) {
    // 處理邏輯
}
// 使用@PathVariable注解傳參
@GetMapping("/user/{id}")
public String getUser(@PathVariable("id") Long id) {
    // 處理邏輯
}
// 使用@RequestBody注解傳參
@PostMapping("/user")
public String addUser(@RequestBody User user) {
    // 處理邏輯
}
// 使用@RequestHeader注解傳參
@GetMapping("/user")
public String getUser(@RequestHeader("User-Agent") String userAgent) {
    // 處理邏輯
}
// 使用@ModelAttribute注解傳參
@PostMapping("/user")
public String addUser(@ModelAttribute User user) {
    // 處理邏輯
}
// 使用@RequestAttribute注解傳參
@GetMapping("/user")
public String getUser(@RequestAttribute("id") Long id) {
    // 處理邏輯
}

springboot中的參數(shù)傳遞

1、前端傳遞到后端

1-1、js

function add(){
    var obj = {};
    obj.parame_empname = $("#EMPNAME").val();
    if (obj.parame_empname == "") {
        alert("姓名不能為空");
        return;
    }
    $.ajax({
        type: "post", //定義ajax請(qǐng)求類型
        url: /add,
        data: JSON.stringify(obj),
        contentType: "application/json;charset=utf-8", //請(qǐng)求頭
        dataType: "text", //返回?cái)?shù)據(jù)類型
        success: function(result) {
            alert(result);
        }
    })
}

1-2、controller

@RequestMapping(value = "/add")
@ResponseBody
public String addCommit(@RequestBody JSONObject req) {
    String info = "Success:提交成功";
    String empname = req.getString("parame_empname");
    service.add(empname);// 插入數(shù)據(jù)庫(kù)
    return info;
}

2、后端傳遞到mapper(sql)

2-1、controller

service.add(empname);// 插入數(shù)據(jù)庫(kù)

2-2、service

public void addcommit( String username) {
        dao.addcommit(username);
    }

2-3、dao

public void addcommit(@Param("username") String username);

2-4、mapper

<insert id="add" parameterType="map">
        INSERT INTO TABLE
  (USERNAME)
        VALUES
  (#{username})
</insert>

------------------------分割線--------------------------

還有一種動(dòng)態(tài)sql方式

即把#{}改成${}

這樣傳到sql的參數(shù)即使是字符串也不會(huì)帶引號(hào)。

這樣可以實(shí)現(xiàn)動(dòng)態(tài)拼接sql。

但這樣做有一個(gè)弊端:可能會(huì)被惡意利用,進(jìn)行sql注入。

到此這篇關(guān)于Spring Boot中常用的參數(shù)傳遞注解的文章就介紹到這了,更多相關(guān)Spring Boot參數(shù)傳遞注解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解SpringBoot緩存的實(shí)例代碼(EhCache 2.x 篇)

    詳解SpringBoot緩存的實(shí)例代碼(EhCache 2.x 篇)

    這篇文章主要介紹了詳解SpringBoot緩存的實(shí)例代碼(EhCache 2.x 篇),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 詳解MyBatis中column屬性的總結(jié)

    詳解MyBatis中column屬性的總結(jié)

    在MyBatis的映射中有column這么一個(gè)屬性,我一直以為它映射的是數(shù)據(jù)庫(kù)表中的列名,但經(jīng)過(guò)學(xué)習(xí)發(fā)現(xiàn)他似乎映射的是SQL語(yǔ)句中的列名,或者說(shuō)是查詢結(jié)果所得到的表的列名,這篇文章主要介紹了MyBatis中column屬性的總結(jié),需要的朋友可以參考下
    2022-09-09
  • Java 給圖片和動(dòng)圖添加水印的方法

    Java 給圖片和動(dòng)圖添加水印的方法

    本篇文章主要介紹了Java 給圖片和動(dòng)圖添加水印的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 解決SpringBoot下Redis序列化亂碼的問題

    解決SpringBoot下Redis序列化亂碼的問題

    這篇文章主要介紹了解決SpringBoot下Redis序列化亂碼的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 如何在Mac上安裝并配置JDK環(huán)境變量詳細(xì)步驟

    如何在Mac上安裝并配置JDK環(huán)境變量詳細(xì)步驟

    這篇文章主要介紹了如何在Mac上安裝并配置JDK環(huán)境變量詳細(xì)步驟,包括下載JDK、安裝JDK、配置環(huán)境變量、驗(yàn)證JDK配置以及可選地設(shè)置PowerShell為默認(rèn)終端,需要的朋友可以參考下
    2025-04-04
  • 詳解JAVA設(shè)計(jì)模式之代理模式

    詳解JAVA設(shè)計(jì)模式之代理模式

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之代理模式的的相關(guān)資料,文中代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • java使用socket實(shí)現(xiàn)一個(gè)多線程web服務(wù)器的方法

    java使用socket實(shí)現(xiàn)一個(gè)多線程web服務(wù)器的方法

    今天小編就為大家分享一篇java使用socket實(shí)現(xiàn)一個(gè)多線程web服務(wù)器的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • java中ThreadLocalRandom的使用詳解

    java中ThreadLocalRandom的使用詳解

    這篇文章主要介紹了java中ThreadLocalRandom的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Java BigDecimal類用法詳解

    Java BigDecimal類用法詳解

    BigDecimal 由任意精度的整數(shù)非標(biāo)度值 和32 位的整數(shù)標(biāo)度 (scale) 組成。如果為零或正數(shù),則標(biāo)度是小數(shù)點(diǎn)后的位數(shù)。如果為負(fù)數(shù),則將該數(shù)的非標(biāo)度值乘以 10 的負(fù)scale 次冪。
    2016-06-06
  • springboot整合logback實(shí)現(xiàn)日志管理操作

    springboot整合logback實(shí)現(xiàn)日志管理操作

    本章節(jié)是記錄logback在springboot項(xiàng)目中的簡(jiǎn)單使用,本文將會(huì)演示如何通過(guò)logback將日志記錄到日志文件或輸出到控制臺(tái)等管理操作,感興趣的朋友跟隨小編一起看看吧
    2024-02-02

最新評(píng)論