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

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

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

商品查詢?cè)O(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對(duì)象時(shí)vue.js應(yīng)用的入口對(duì)象
       el:"#app",//vue對(duì)象要監(jiān)控的區(qū)域
       data:{//此對(duì)象用于同步頁(yè)面數(shù)據(jù)的一個(gè)對(duì)象
       goods:{}
       },
       methods:{//同步與頁(yè)面元素事件處理函數(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>

啟動(dòng)tomcat進(jìn)行訪問(wèn)測(cè)試,如圖所示:

商品刪除設(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對(duì)象內(nèi)部添加刪除元素,代碼如下:

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

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

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

啟動(dòng)服務(wù)進(jìn)行訪問(wèn)測(cè)試,檢測(cè)其結(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頁(yè)面上添加表單元素,用于實(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對(duì)象內(nèi)部添加用于同步表單數(shù)據(jù)的Data屬性內(nèi)容,代碼如下:

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

在vue對(duì)象內(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="";
    });
}

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

商品修改設(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頁(yè)面表單中添加隱藏的表單元素用于記錄id值,代碼如下:

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

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

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

在Vue對(duì)象中添加基于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對(duì)象中的用于保存和修改數(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="";
    });
}

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

總結(jié)(Summary)

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

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

相關(guān)文章

  • idea如何配置springboot熱部署

    idea如何配置springboot熱部署

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

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

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

    Spring中配置ContextLoaderListener方式

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

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

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

    詳解SpringBoot是如何整合JPA的

    借助于開(kāi)發(fā)框架,我們已經(jīng)不用編寫原始的訪問(wèn)數(shù)據(jù)庫(kù)的代碼,也不用調(diào)用JDBC或者連接池等諸如此類的被稱作底層的代碼,我們將從更高的層次上訪問(wèn)數(shù)據(jù)庫(kù),本章我們將詳細(xì)介紹在Springboot中使用 Spring Data JPA 來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,需要的朋友可以參考下
    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類的常用方法說(shuō)明

    Java中FileWriter類的常用方法說(shuō)明

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

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

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

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

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

最新評(píng)論

股票| 澎湖县| 兴城市| 汶川县| 电白县| 岳普湖县| 怀宁县| 隆安县| 宁晋县| 麻城市| 汤原县| 梨树县| 日喀则市| 泰州市| 龙泉市| 宁晋县| 青冈县| 广德县| 呈贡县| 楚雄市| 凌源市| 邢台县| 专栏| 怀柔区| 兴隆县| 长武县| 宣威市| 台前县| 德庆县| 耒阳市| 洱源县| 治县。| 蓬溪县| 福贡县| 灵宝市| 重庆市| 延津县| 丰原市| 临海市| 涪陵区| 洪雅县|