一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring mvc是如何實現與數據庫的前后端的連接操作的?

Spring mvc是如何實現與數據庫的前后端的連接操作的?

2021-09-22 11:24黃金龍666 Java教程

今天給大家帶來的是關于Spring mvc的相關知識,文章圍繞著Spring mvc是如何實現與數據庫的前后端的連接操作的展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下

Spring mvc與數據庫的前后端的連接

springboot是基于maven的基礎上管理jar包的,只不過是使用springboot下載jar包只需選中即可,就會自動的在pom.xml文件中配置組件

在pom文件中的jar包的快捷鍵:右鍵--->generate---->depency---->搜索jar包

如果在前后端傳參數是輸入了參數卻返回null , 則說明屬性的名字(id,name等)寫錯了

 啟動類:注意 ,啟動類必須在啟動類中進行執行.必能在idea的上面進行啟動,否則會啟動其他的啟動類導致報錯

?
1
2
3
4
5
6
7
8
9
10
11
package cn.tedu;
 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//啟動類
@SpringBootApplication
public class RunApp {
    public static void main(String[] args) {
        SpringApplication.run(RunApp.class);
    }
}

創建car類(相當于model層)

注意:這里使用的是構造方法 主要的作用是方便new

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package cn.tedu.pojo;
//Model用來封裝數據
public class Car {
    private int id;
    private String name;
    private double price;
    //Constructor構造方法,用來方便的new
    public Car(){}
    public Car(int id, String name, double price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
}

使用三種方式  < 對象 > 進行傳參數;注意:使用此類型進行設置值必須有構造方法

對象的地址值:http://localhost:8080/car/get

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package cn.tedu.controller;
//MVC里的C層,用來接受請求和做出響應(springmvc)
 
import cn.tedu.pojo.Car;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController//接受請求,并把json數據返回
@RequestMapping("car"//規定了url地址的寫法
public class CarController {
//方式一值會在網頁中出現
    @RequestMapping("get")
    public Car get(){
        Car c = new Car(10,"BMW",19.9);   //出發鉤造函數,此處觸發的是含參構造;
        return c ;
    }
//方式二值會在網頁中出現
 @RequestMapping("save3")
    public Car save() {
        car.setAge(213);
        car.setSex("男");
        car.setId(32);
         car.setPrice(32);
        return car;
    }
方式三這種方式的值會在idea中打印不會再網頁中出現
@RequestMapping("save3")
    public Car save() {
        car.setAge(213);
        car.setSex("男");
        car.setId(32);
         car.setPrice(32);
        System.out.println(car);
}

使用return(值會網頁中出現)的方式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package cn.tedu.controller;
 
import cn.tedu.pojo.Car;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import javax.naming.Name;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
 
//這是一個c層用來接收請求和做出響應
@RestController
//@RequestMapping("car")//規定了url的寫法此時的值可以任意寫
public class Controller {
 
 
   @RequestMapping("replace")
    public String replace(){
       // System.out.println(id+name+age);
 
        return "hkjds";
    }
//方式二值會在網頁中出現
 @RequestMapping("save3")
    public Car save() {
        car.setAge(213);
        car.setSex("男");
        car.setId(32);
         car.setPrice(32);
        return car;
    }
 
 
}
 
}

使用普通的get的方法進行上傳

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package cn.tedu.controller;
 
import cn.tedu.pojo.Car;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import javax.naming.Name;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
 
//這是一個c層用來接收請求和做出響應
@RestController
//@RequestMapping("car")//規定了url的寫法此時的值可以任意寫
public class Controller {
   
 @RequestMapping("get2")
    public void get(Integer id,String name){//此處使用int類型必須賦值  引用類型不用必須賦值最好使用引用類型
        System.out.println(id+name);
    }
    @RequestMapping("get")
               public void get(Integer id){//此處使用int類型必須賦值  引用類型不用必須賦值
 
        System.out.println(id);
 
       }

restful風格進行傳參數

restful和普通的get的方法的區別:restful相對比較安全,寫法比較簡單

restful的地址值的:http://localhost:8080/car2/get2/10/jack/9

其他的url地址值://http://localhost:8080/car/get5?id=10&name=jack&price=9.9

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package cn.tedu.controller;
 
import cn.tedu.pojo.Car;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
@RequestMapping("car3")
//使用restful風格
public class CarController {
 
   @RequestMapping("get2/{sex}/{id}/{name}")//此地方的參數順序必須和下面以及地址值都必須一樣
public void  get2(@PathVariable String sex,
                 @PathVariable Integer id,
                 @PathVariable String name){
       System.out.println("數據插入成功"+sex+name+id);
      // System.out.println("數據插入成功"+name+id);
    }
   
 
}

spring mvc框架進行傳參數

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package cn.tedu.controller;
 
import cn.tedu.pojo.Car;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import javax.naming.Name;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
 
//這是一個c層用來接收請求和做出響應
@RestController
//@RequestMapping("car")//規定了url的寫法此時的值可以任意寫
public class Controller {
    //使用框架接收網站參數
    @RequestMapping("get3")
   public void  get3(Car car){
       System.out.println(car.getSex()+car.getName()+car.getId());
   }
 
}

前后端參數傳入并且將數據傳入到數據庫中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package cn.tedu.controller;
 
import cn.tedu.pojo.Car;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.yaml.snakeyaml.events.Event;
 
import javax.naming.Name;
import java.sql.*;
import java.util.Scanner;
 
@RestController
@RequestMapping("user")
public class UserContoller {
    @RequestMapping("save")
   public void save(Integer id,String name,Integer age) throws Exception {
        System.out.println(id+name+age);
        Class.forName("com.mysql.jdbc.Driver");
        //獲取連接
        String url ="jdbc:mysql:///cgb2104?characterEncoding=utf8&useSSL=false&amp;serverTimezone=Asia/Shanghai";
        Connection conn = DriverManager.getConnection(url,"root","root");
        //獲取傳輸器
//        String sql= "insert into user(id,name) values(?,?)";//給指定的字段設置值
        String sql= "insert into user values(?,?,?)";//所有字段設置值
        PreparedStatement ps = conn.prepareStatement(sql);
        //給SQL設置參數
        ps.setInt(1,id);//給第一個?設置值
        ps.setString(2,name);//給第二個?設置值
        ps.setInt(3,age);//給第三個?設置值
        //執行SQL
        int rows = ps.executeUpdate();
        //釋放資源 -- OOM(OutOfMemory)
        ps.close();
        conn.close();
    }

到此這篇關于Spring mvc是如何實現與數據庫的前后端的連接操作的?的文章就介紹到這了,更多相關Spring mvc與數據庫的前后端的連接內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_58276266/article/details/117932321

延伸 · 閱讀

精彩推薦
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 欧美影院一区二区三区 | 91制片厂果冻传媒杨柳作品 | 国产三级精品久久三级国专区 | 日韩精品一区二三区中文 | 欧美日韩中文字幕在线视频 | 国产女主播在线播放一区二区 | 精品9e精品视频在线观看 | 国产精彩对白综合视频 | 色8| 国产精自产拍久久久久久 | 欧美亚洲国产精品久久久 | 欧美艳星kagneyiynn| 黑人巨大爆粗亚裔女人 | 国产精品嫩草影院在线看 | 国产精品www | 亚洲天堂在线视频播放 | 欧美成人精品第一区二区三区 | 免费黄色小说 | 国产精品视频久久 | 亚洲精选在线观看 | 天天色国产 | 99精品视频只99有精品 | 国产精品久久久久久久久久久搜索 | 国产成人lu在线视频 | 2020国产精品视频 | 久久久久国产一级毛片高清片 | 五月色婷婷久久综合 | 日本强不卡在线观看 | 涩涩国产精品福利在线观看 | 波多野给衣一区二区三区 | 久久久久激情免费观看 | 全黄h全肉细节文在线观看 全彩成人18h漫画 | 果冻传媒mv在线观看入口免费 | 欧美精品国产一区二区三区 | 国产真实偷乱视频在线观看 | 午夜福利理论片在线播放 | 久久免费资源福利资源站 | 91探花在线观看 | 日本久本草精品 | 国产精品1区2区 | 国产第一页在线视频 |