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

Java精品項(xiàng)目瑞吉外賣之員工新增篇

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

一. 需求分析

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

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

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

二. 代碼開(kāi)發(fā)

開(kāi)發(fā)過(guò)程

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

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

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

請(qǐng)求API:

說(shuō)明
請(qǐng)求URL/employee
請(qǐng)求數(shù)據(jù)JSON格式的Employee對(duì)象

代碼編寫(xiě):

在EmployeeController下添加如下代碼:

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

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

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

三. 編寫(xiě)全局異常處理

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

  • 通過(guò)try、catch進(jìn)行捕獲異常
  • 使用異常處理器進(jìn)行全局的異常捕獲

現(xiàn)在使用第二種方式進(jì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("該賬號(hào)已經(jīng)存在");
    }
}

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

相關(guān)文章

  • SpringBoot中使用Ehcache的詳細(xì)教程

    SpringBoot中使用Ehcache的詳細(xì)教程

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

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

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

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

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

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

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

    springboot啟動(dòng)時(shí)沒(méi)有日志的原因分析

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

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

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

    SpringCloud?Feign超詳細(xì)講解

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

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

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

    Spring?BeanDefinition收集過(guò)程示例詳解

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

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

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

最新評(píng)論

西林县| 专栏| 顺昌县| 沂南县| 定兴县| 龙海市| 保德县| 隆子县| 女性| 张家川| 定州市| 许昌市| 兴仁县| 即墨市| 睢宁县| 扎赉特旗| 云南省| 新密市| 西峡县| 大田县| 确山县| 抚州市| 涿州市| 西藏| 界首市| 南召县| 吉隆县| 增城市| 侯马市| 永年县| 巴东县| 黑水县| 米脂县| 林周县| 宜春市| 资兴市| 奎屯市| 景德镇市| 库尔勒市| 土默特左旗| 马关县|