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

SpringBoot+Mybatis+Vue 實(shí)現(xiàn)商品模塊的crud操作

 更新時(shí)間:2020年10月29日 08:28:03   作者:小韓  
這篇文章主要介紹了SpringBoot+Mybatis+Vue 實(shí)現(xiàn)商品模塊的crud操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

準(zhǔn)備工作

第一步 創(chuàng)建新module,名字為10-springboot-goods-vue.

第二步 添加maven依賴并進(jìn)行初步配置(拷貝即可)

第三步 拷貝pojo,dao,service包中的所有接口和類.

第四步 拷貝靜態(tài)資源到static目錄(例如vue.js,axios.min.js)

商品查詢設(shè)計(jì)及實(shí)現(xiàn)

創(chuàng)建GoodsController并定義相關(guān)方法,代碼如下:

package com.cy.pj.goods.controller;
import com.cy.pj.goods.pojo.Goods;
import com.cy.pj.goods.service.GoodsService;
import java.util.List;
@RestController
public class GoodsController {
   @Autowired
   private GoodsService goodsService;
   /**查詢所有商品信息*/
   @GetMapping("/goods/doFindGoods")
   public List<Goods> doFindGoods(){
     return goodsService.findGoods();
   }
}

在項(xiàng)目static目錄創(chuàng)建goods-vue.html,并基于vue呈現(xiàn)數(shù)據(jù),代碼如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
 <div id="app">
   <h1>The Goods Page</h1>
   <table>
     <thead>
       <tr>
         <th>id</th>
         <th>name</th>
         <th>remark</th>
         <th>createdTime</th>
       </tr>
     </thead>
     <tbody>
       <tr v-for="g in goods">
         <td>{{g.id}}</td>
         <td>{{g.name}}</td>
         <td>{{g.remark}}</td>
         <td>{{g.createdTime}}</td>
       </tr>
     </tbody>
   </table>
 </div>
 <script src="js/axios.min.js"></script>
 <script src="js/vue.js"></script>
 <script> var vm=new Vue({//vue對象時(shí)vue.js應(yīng)用的入口對象
       el:"#app",//vue對象要監(jiān)控的區(qū)域
       data:{//此對象用于同步頁面數(shù)據(jù)的一個(gè)對象
       goods:{}
       },
       methods:{//同步與頁面元素事件處理函數(shù)
        doFindGoods:function(){
         let url="goods/doFindGoods";
         axios.get(url)
           .then(function(result){
              this.vm.goods=result.data;
            });
         }
       },
       mounted:function(){
         this.doFindGoods();
       }
   }); </script>
</body>
</html>

啟動tomcat進(jìn)行訪問測試,如圖所示:

商品刪除設(shè)計(jì)及實(shí)現(xiàn)

在控制層方法中添加,處理刪除邏輯的方法,代碼如如下:

@RequestMapping("/goods/doDeleteById/{id}")
public String doDeleteById(@PathVariable("id") Integer id){
  System.out.println("delete id "+id);
  goodsService.deleteById(id);
  return "delete ok";
}

在商品列表中的tr對象內(nèi)部添加刪除元素,代碼如下:

<td><a @click="doDeleteById(g.id)">刪除</a></td>

在商品模塊的vue對象中添加執(zhí)行刪除邏輯的方法,代碼如下:

doDeleteById:function(id){
  var url="goods/doDeleteById/"+id;
  axios.get(url)
    .then(function(res){
      alert(res.data);
      this.vm.doFindGoods();
    })
}

啟動服務(wù)進(jìn)行訪問測試,檢測其結(jié)果。

商品添加設(shè)計(jì)及實(shí)現(xiàn)

在Controller類中添加用于處理商品添加邏輯的方法,代碼如下:

@RequestMapping("/goods/doSaveGoods")
public String doSaveGoods(@RequestBody Goods entity){
  System.out.println("entity="+entity);
  goodsService.saveGoods(entity);
  return "save ok";
}

在Goods頁面上添加表單元素,用于實(shí)現(xiàn)用戶輸入,代碼如下:

<form>
  <ul>
    <li>name</li>
    <li><input v-model="name"></li>
    <li>remark</li>
    <li><textarea v-model="remark"></textarea></li>
    <li><input type="button" @click="doSaveOrUpdateGoods" value="Save Goods"></li>
  </ul>
</form>

在vue對象內(nèi)部添加用于同步表單數(shù)據(jù)的Data屬性內(nèi)容,代碼如下:

data:{
  name:"",
  remark:"",
  goods:"",
}

在vue對象內(nèi)部添加處理添加操作的事件處理函數(shù),代碼如下:

doSaveOrUpdateGoods:function(){
  var params={"name":this.name,"remark":this.remark};
  var url="goods/doSaveGoods";
  axios.post(url,params)
    .then(function(res){
      alert(res.data);
      this.vm.doFindGoods();
      this.vm.name="";
      this.vm.remark="";
    });
}

啟動服務(wù),進(jìn)行添加操作測試。

商品修改設(shè)計(jì)及實(shí)現(xiàn)

在Controller中添加基于商品id查詢和更新商品信息的方法,代碼如下:

@RequestMapping("/goods/doFindById/{id}")
public Goods doFindById(@PathVariable("id") Integer id){
  return goodsService.findById(id);
}
@RequestMapping("goods/doUpdateGoods")
public String doUpdateGoods(@RequestBody Goods entity){
  goodsService.updateGoods(entity);
  return "update ok";
} 

在Goods頁面表單中添加隱藏的表單元素用于記錄id值,代碼如下:

<li><input type="hidden" v-model="id"></li>

在Goods頁面記錄中添加修改操作的需要的a元素,代碼如下:

<td><a @click="doFindById(g.id)">修改</a></td>

在Vue對象中添加基于id查詢的方法,代碼如下:

doFindById:function(id){
  var url="goods/doFindById/"+id;
  axios.get(url)
  .then(function(res){
    console.log(res.data);
    this.vm.id=res.data.id;
    this.vm.name=res.data.name;
    this.vm.remark=res.data.remark;
  })
}

修改Vue對象中的用于保存和修改數(shù)據(jù)的方法,代碼如下:

doSaveOrUpdateGoods:function(){
  var params={"id":this.id,"name":this.name,"remark":this.remark};
  var url=this.id?"goods/doUpdateGoods":"goods/doSaveGoods";
  axios.post(url,params)
    .then(function(res){
      this.vm.doFindGoods();
      alert(res.data);
      this.vm.id="";
      this.vm.name="";
      this.vm.remark="";
    });
}

啟動服務(wù)進(jìn)行訪問測試,檢測其結(jié)果。

總結(jié)(Summary)

本小節(jié)主要基于vue和axio技術(shù)實(shí)現(xiàn)了商品模塊的基本操作,重點(diǎn)掌握客戶端與服務(wù)端的交互和傳值過程。

到此這篇關(guān)于SpringBoot+Mybatis+Vue 實(shí)現(xiàn)商品模塊的crud操作的文章就介紹到這了,更多相關(guān)SpringBoot Mybatis Vue crud內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • idea如何配置springboot熱部署

    idea如何配置springboot熱部署

    文章介紹了如何在不同版本的IntelliJ IDEA中配置靜態(tài)和動態(tài)編譯,并提供了觸發(fā)熱部署的方法
    2025-01-01
  • Java?Cloneable接口的深拷貝與淺拷貝詳解

    Java?Cloneable接口的深拷貝與淺拷貝詳解

    這篇文章主要為大家詳細(xì)介紹了Java?Cloneable接口的深拷貝與淺拷貝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Spring中配置ContextLoaderListener方式

    Spring中配置ContextLoaderListener方式

    這篇文章主要介紹了Spring中配置ContextLoaderListener方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • java實(shí)現(xiàn)Api接口加密通信方式

    java實(shí)現(xiàn)Api接口加密通信方式

    這篇文章主要介紹了java實(shí)現(xiàn)Api接口加密通信方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 詳解SpringBoot是如何整合JPA的

    詳解SpringBoot是如何整合JPA的

    借助于開發(fā)框架,我們已經(jīng)不用編寫原始的訪問數(shù)據(jù)庫的代碼,也不用調(diào)用JDBC或者連接池等諸如此類的被稱作底層的代碼,我們將從更高的層次上訪問數(shù)據(jù)庫,本章我們將詳細(xì)介紹在Springboot中使用 Spring Data JPA 來實(shí)現(xiàn)對數(shù)據(jù)庫的操作,需要的朋友可以參考下
    2021-06-06
  • 詳細(xì)解讀AbstractStringBuilder類源碼

    詳細(xì)解讀AbstractStringBuilder類源碼

    這篇文章主要介紹了詳細(xì)解讀AbstractStringBuilder類源碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • EventBus與Spring Event區(qū)別詳解(EventBus 事件機(jī)制,Spring Event事件機(jī)制)

    EventBus與Spring Event區(qū)別詳解(EventBus 事件機(jī)制,Spring Event事件機(jī)制)

    這篇文章主要介紹了EventBus與Spring Event區(qū)別,需要的朋友可以參考下
    2020-02-02
  • Java中FileWriter類的常用方法說明

    Java中FileWriter類的常用方法說明

    這篇文章主要介紹了Java中FileWriter類的常用方法說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 使用Java生成JWT令牌的示例代碼

    使用Java生成JWT令牌的示例代碼

    json-web-token簡稱java web令牌,也稱作JWT,是一種可以實(shí)現(xiàn)跨域身份驗(yàn)證身份的方案,jwt不加密傳輸數(shù)據(jù),但能夠通過數(shù)據(jù)前面驗(yàn)證數(shù)據(jù)的未被篡改,本文給大家介紹了如何使用Java生成JWT令牌,需要的朋友可以參考下
    2024-04-04
  • java按鈕控件數(shù)組實(shí)現(xiàn)計(jì)算器界面示例分享

    java按鈕控件數(shù)組實(shí)現(xiàn)計(jì)算器界面示例分享

    本文主要介紹了JAVA通過按鈕數(shù)組來管理界面中的所有按鈕控件,從而使用最少的代碼實(shí)現(xiàn)模擬的計(jì)算器界面
    2014-02-02

最新評論

安义县| 绥江县| 惠安县| 慈利县| 德昌县| 宣汉县| 永川市| 安乡县| 南阳市| 浦东新区| 乐至县| 桂东县| 庐江县| 原平市| 克东县| 平罗县| 米泉市| 桃源县| 明光市| 玉门市| 玉屏| 于田县| 巴楚县| 龙海市| 平利县| 铜山县| 昭平县| 嘉鱼县| 五常市| 遵义市| 东城区| 双峰县| 仙居县| 凤山县| 和政县| 兴宁市| 柏乡县| 九江县| 瑞金市| 即墨市| 宜君县|