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

Java精品項目瑞吉外賣之員工新增篇

 更新時間:2022年05月13日 09:27:03   作者:爪哇斗羅  
這篇文章主要為大家詳細介紹了java精品項目-瑞吉外賣訂餐系統(tǒng),此項目過大,分為多章獨立講解,本篇內(nèi)容為新增員工功能的實現(xiàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一. 需求分析

后臺系統(tǒng)可以管理員工信息,通過新增員工來添加后臺系統(tǒng)的用戶,點擊添加用戶轉(zhuǎn)至添加頁面:

添加員工的信息需要保存至員工表【employee】中,結(jié)構(gòu)如下:

其中員工狀態(tài)默認設(shè)為1,表示賬號在初始創(chuàng)建是可用的狀態(tài)下的。

二. 代碼開發(fā)

開發(fā)過程

開發(fā)之前,梳理一下具體的流程:

  • 頁面發(fā)送ajax請求,將員工輸入的數(shù)據(jù)轉(zhuǎn)換為JSON格式提交至服務(wù)器;
  • 服務(wù)端控制層接收請求數(shù)據(jù)并調(diào)用業(yè)務(wù)層將數(shù)據(jù)保存;
  • 業(yè)務(wù)層調(diào)用持久層(Mapper)將數(shù)據(jù)保存至數(shù)據(jù)庫。

類似以下數(shù)據(jù)格式:

請求API:

說明
請求URL/employee
請求數(shù)據(jù)JSON格式的Employee對象

代碼編寫:

在EmployeeController下添加如下代碼:

@PostMapping
    public R<String> save(HttpServletRequest request, @RequestBody Employee employee) {
        log.info("新增員工信息:{}", employee.toString());
        // 設(shè)置默認密碼為123456 并進行MD5加密
        employee.setPassword(DigestUtils.md5DigestAsHex(CommonsConst.INIT_PASSWORD.getBytes()));
        // 設(shè)置創(chuàng)建時間
        employee.setCreateTime(LocalDateTime.now());
        // 設(shè)置更新時間
        employee.setUpdateTime(LocalDateTime.now());
        // 用戶ID設(shè)置(session中取得)
        Long empId = (Long) request.getSession().getAttribute("employee");
        employee.setCreateUser(empId);
        employee.setUpdateUser(empId);
        // 調(diào)用存儲方法
        employeeService.save(employee);
        return R.success("添加成功");
    }

測試添加數(shù)據(jù):

數(shù)據(jù)庫發(fā)現(xiàn)多了一天數(shù)據(jù),說明添加成功了。

三. 編寫全局異常處理

對于添加有一個問題,就是用戶名已經(jīng)設(shè)置了主鍵,若員工用戶名已經(jīng)存在就會報錯(SQLIntegrityConstraintViolationException異常),此時我們需要捕獲異常,通常捕獲異常有以下兩種方式:

  • 通過try、catch進行捕獲異常
  • 使用異常處理器進行全局的異常捕獲

現(xiàn)在使用第二種方式進行異常捕獲:

package com.itheima.reggie.common;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.sql.SQLIntegrityConstraintViolationException;
/**
 * @author jektong
 * @Date 2022/4/29
 */
@ControllerAdvice(annotations = {RestController.class, Controller.class})
@ResponseBody
@Slf4j
public class GlobalExceptionHandler {
    /**
     *
     * @param ex
     * @return
     */
    @ExceptionHandler(SQLIntegrityConstraintViolationException.class)
    public R<String> exceptionHandler(SQLIntegrityConstraintViolationException ex){
        log.error(ex.getMessage());
        return R.error("該賬號已經(jīng)存在");
    }
}

到此這篇關(guān)于Java精品項目瑞吉外賣之員工新增篇的文章就介紹到這了,更多相關(guān)Java瑞吉外賣內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot中使用Ehcache的詳細教程

    SpringBoot中使用Ehcache的詳細教程

    EhCache 是一個純 Java 的進程內(nèi)緩存框架,具有快速、精干等特點,是 Hibernate 中默認的 CacheProvider。這篇文章主要介紹了SpringBoot中使用Ehcache的相關(guān)知識,需要的朋友可以參考下
    2020-08-08
  • kafka 重新分配partition和調(diào)整replica的數(shù)量實現(xiàn)

    kafka 重新分配partition和調(diào)整replica的數(shù)量實現(xiàn)

    當需要提升Kafka集群的性能和負載均衡時,可通過kafka-reassign-partitions.sh命令手動重新分配Partition,增加節(jié)點后,可以將Topic的Partition的Leader節(jié)點均勻分布,以提高寫入和消費速度,感興趣的可以了解一下
    2022-03-03
  • 如何獲取?Spring?heapdump中的明文密碼

    如何獲取?Spring?heapdump中的明文密碼

    Actuator是Spring?Boot提供的應(yīng)用系統(tǒng)監(jiān)控的開源框架,在攻防場景里經(jīng)常會遇到Actuator配置不當?shù)那闆r,攻擊者可以直接下載heapdump堆轉(zhuǎn)儲文件,本文介紹如何獲取?Spring?heapdump中的密碼明文,需要的朋友可以參考下
    2022-07-07
  • Springboot實現(xiàn)公共字段填充的示例詳解

    Springboot實現(xiàn)公共字段填充的示例詳解

    這篇文章主要為大家詳細介紹了Springboot實現(xiàn)公共字段填充的相關(guān)知識,文中的示例代碼講解詳細,對我們深入學(xué)習(xí)springboot有一定的幫助,感興趣的小伙伴可以了解下
    2023-10-10
  • springboot啟動時沒有日志的原因分析

    springboot啟動時沒有日志的原因分析

    這篇文章主要介紹了springboot啟動時沒有日志的原因分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot-JWT生成Token和攔截器的使用(訪問受限資源)

    SpringBoot-JWT生成Token和攔截器的使用(訪問受限資源)

    本文主要介紹了SpringBoot-JWT生成Token和攔截器的使用(訪問受限資源),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • SpringCloud?Feign超詳細講解

    SpringCloud?Feign超詳細講解

    Feign是Netflix公司開發(fā)的一個聲明式的REST調(diào)用客戶端;?Ribbon負載均衡、?Hystrⅸ服務(wù)熔斷是我們Spring?Cloud中進行微服務(wù)開發(fā)非常基礎(chǔ)的組件,在使用的過程中我們也發(fā)現(xiàn)它們一般都是同時出現(xiàn)的,而且配置也都非常相似
    2022-10-10
  • java高并發(fā)的ReentrantLock重入鎖

    java高并發(fā)的ReentrantLock重入鎖

    這篇文章主要介紹了如何教你完全理解ReentrantLock重入鎖,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,下面我們來一起學(xué)習(xí)一下吧
    2021-10-10
  • Spring?BeanDefinition收集過程示例詳解

    Spring?BeanDefinition收集過程示例詳解

    這篇文章主要為大家介紹了Spring?BeanDefinition收集過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 詳解Java去除json數(shù)據(jù)中的null空值問題

    詳解Java去除json數(shù)據(jù)中的null空值問題

    這篇文章主要介紹了詳解Java去除json數(shù)據(jù)中的null空值問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論

万全县| 仁化县| 出国| 措勤县| 磴口县| 丰台区| 东方市| 河津市| 钦州市| 阿拉善盟| 浮山县| 齐河县| 介休市| 姜堰市| 舞阳县| 台东县| 兴隆县| 峨边| 沈丘县| 富阳市| 樟树市| 黄梅县| 平度市| 新邵县| 武穴市| 虎林市| 如皋市| 寻乌县| 嘉祥县| 会东县| 天全县| 石景山区| 五寨县| 榕江县| 健康| 乌鲁木齐市| 澄江县| 怀集县| 岑溪市| 南木林县| 礼泉县|