欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)戰(zhàn)之藥品管理系統(tǒng)的實(shí)現(xiàn)

 更新時(shí)間:2022年04月29日 10:38:15   作者:qq1334611189  
這篇文章主要介紹了利用Java實(shí)現(xiàn)的藥品管理系統(tǒng),本項(xiàng)目屬于前后端分離的項(xiàng)目,分為兩個(gè)角色藥品管理員和取藥處人員,感興趣的小伙伴可以學(xué)習(xí)一下

項(xiàng)目介紹

本項(xiàng)目屬于前后端分離的項(xiàng)目,分為兩個(gè)角色藥品管理員和取藥處人員

藥品管理員:

登錄、退出、藥品信息錄入、藥廠信息錄入、采購(gòu)員信息錄入、藥品信息瀏覽、藥廠信息瀏覽、采購(gòu)人員信息瀏覽、藥品信息查詢(xún)?nèi)霂?kù)修改刪除、藥廠信息入庫(kù)修改刪除、采購(gòu)員信息入庫(kù)修改刪除、入庫(kù)記錄瀏覽、出庫(kù)記錄瀏覽、系統(tǒng)幫助

取藥處人員:

登錄、退出、藥品信息瀏覽、藥廠信息瀏覽、采購(gòu)員信息瀏覽、藥品信息查詢(xún)出庫(kù)、出庫(kù)記錄瀏覽、系統(tǒng)幫助

環(huán)境需要

1.運(yùn)行環(huán)境:最好是java jdk 1.8,我們?cè)谶@個(gè)平臺(tái)上運(yùn)行的。其他版本理論上也可以。

2.IDE環(huán)境:IDEA,Eclipse,Myeclipse都可以。推薦IDEA;

3.tomcat環(huán)境:Tomcat 7.x,8.x,9.x版本均可

4.硬件環(huán)境:windows 7/8/10 1G內(nèi)存以上;或者 Mac OS;

5.數(shù)據(jù)庫(kù):MySql 5.7版本;

6.是否Maven項(xiàng)目:是

技術(shù)棧

1. 后端:SpringBoot

2. 前端:html+layui+jquery+bootstrap+echarts

使用說(shuō)明

1. 使用Navicat或者其它工具,在mysql中創(chuàng)建對(duì)應(yīng)名稱(chēng)的數(shù)據(jù)庫(kù),并導(dǎo)入項(xiàng)目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse導(dǎo)入項(xiàng)目,Eclipse/MyEclipse導(dǎo)入時(shí),若為maven項(xiàng)目請(qǐng)選擇maven;
若為maven項(xiàng)目,導(dǎo)入成功后請(qǐng)執(zhí)行maven clean;maven install命令,然后運(yùn)行;

3. 將項(xiàng)目中application.yml配置文件中的數(shù)據(jù)庫(kù)配置改為自己的配置;

4. 運(yùn)行項(xiàng)目,后端輸入localhost:8081/

效果圖展示

實(shí)現(xiàn)核心代碼

用戶(hù)相關(guān)的controller控制層

/**
 * 用戶(hù)相關(guān)的controller
 */
@Controller
public class UserController {
 
    /**
     * 轉(zhuǎn)向登錄頁(yè)面
     */
    @RequestMapping(value = "/login")
    public String login(){
        return "/login";
    }
 
    /**
     * 判斷用戶(hù)登錄是否成功
     */
    @RequestMapping(value = "/toLogin")
    @ResponseBody
    public Object toLogin(String username,String password){
        if(username==null||password==null){
            return ResultMapUtil.getHashMapLogin("用戶(hù)名密碼不能為空","2");
        }
        Subject subject = SecurityUtils.getSubject();
        UsernamePasswordToken token = new UsernamePasswordToken(username,password);
        try{
            subject.login(token);
        }catch (UnknownAccountException e){
            return ResultMapUtil.getHashMapLogin("用戶(hù)名不存在","2");
        }catch (IncorrectCredentialsException e){
            return ResultMapUtil.getHashMapLogin("密碼錯(cuò)誤","2");
        }
        return ResultMapUtil.getHashMapLogin("驗(yàn)證成功","1");
    }
 
    /**
     * 轉(zhuǎn)向后臺(tái)管理首頁(yè)
     */
    @RequestMapping(value = "/index")
    public String index(){
        return "/index";
    }
 
    /**
     * 退出登錄
     */
    @RequestMapping(value = "/logout")
    public String logout(){
        Subject subject = SecurityUtils.getSubject();
        subject.logout();
        return "redirect:/login";
    }
 
}

藥品相關(guān)的controller

/**
 * 藥品相關(guān)的controller
 */
@Controller
@RequestMapping(value = "/druginfo")
public class DruginfoController {
 
    @Autowired
    private IDruginfoService druginfoService;
 
    /**
     * 轉(zhuǎn)向藥品頁(yè)面
     */
    @RequestMapping
    public String druginfo(){
        return "/druginfo";
    }
 
    /**
     * 分頁(yè)查詢(xún)藥品列表
     */
    @RequestMapping(value = "/druginfoQueryPage")
    @ResponseBody
    public Object druginfoQueryPage(String param, @RequestParam(defaultValue = "1")int pageNum,@RequestParam(defaultValue = "10")int pageSize){
        try{
            IPage<Druginfo> iPage = druginfoService.selectDruginfoPage(pageNum,pageSize,param);
            return ResultMapUtil.getHashMapMysqlPage(iPage);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }
 
    /**
     * 轉(zhuǎn)向藥品新增頁(yè)面
     */
    @RequestMapping(value = "/druginfoPage")
    public String druginfoPage(){
        return "/druginfoPage";
    }
 
    /**
     * 添加一個(gè)藥品
     */
    @RequestMapping(value = "/druginfoAdd")
    @ResponseBody
    public Object druginfoAdd(Druginfo druginfo){
        try{
            int i = druginfoService.addDruginfo(druginfo);
            return ResultMapUtil.getHashMapSave(i);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }
 
    /**
     * 轉(zhuǎn)向藥品編輯頁(yè)面
     */
    @RequestMapping(value = "/druginfoQueryById")
    public String druginfoQueryById(@RequestParam(name = "id",required = true)Integer id, Model model){
        Druginfo druginfo = druginfoService.queryDruginfoById(id);
        model.addAttribute("obj",druginfo);
        return "/druginfoPage";
    }
 
    /**
     * 修改一個(gè)藥品
     */
    @RequestMapping(value = "/druginfoEdit")
    @ResponseBody
    public Object druginfoEdit(Druginfo druginfo){
        try{
            int i = druginfoService.editDruginfo(druginfo);
            return ResultMapUtil.getHashMapSave(i);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }
 
    /**
     * 刪除一個(gè)藥品
     */
    @RequestMapping(value = "/druginfoDelById")
    @ResponseBody
    public Object druginfoDelById(Integer id){
        try{
            int i = druginfoService.delDruginfoById(id);
            return ResultMapUtil.getHashMapDel(i);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }
 
    /**
     * 獲取所有藥品
     */
    @RequestMapping(value = "/druginfoList")
    @ResponseBody
    public Object druginfoList(){
        List<Druginfo> druginfoList = druginfoService.queryDruginfoList();
        return ResultMapUtil.getHashMapList(druginfoList);
    }
 
    /**
     * 轉(zhuǎn)向藥品保質(zhì)期檢查頁(yè)面
     */
    @RequestMapping(value = "/warranty")
    public String warranty(){
        return "/warranty";
    }
}

供應(yīng)商相關(guān)的controller

/**
 * 供應(yīng)商相關(guān)的controller
 */
@Controller
@RequestMapping(value = "/supplier")
public class SupplierController {
 
    @Autowired
    private ISupplierService supplierService;
 
    /**
     * 轉(zhuǎn)向供應(yīng)商頁(yè)面
     */
    @RequestMapping
    public String supplier(){
        return "/supplier";
    }
 
    /**
     * 分頁(yè)查詢(xún)供應(yīng)商列表
     */
    @RequestMapping(value = "/supplierQueryPage")
    @ResponseBody
    public Object supplierQueryPage(String param, @RequestParam(defaultValue = "1")int pageNum,@RequestParam(defaultValue = "10")int pageSize){
        try{
            IPage<Supplier> iPage = supplierService.selectSupplierPage(pageNum,pageSize,param);
            return ResultMapUtil.getHashMapMysqlPage(iPage);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }
 
    /**
     * 轉(zhuǎn)向供應(yīng)商新增頁(yè)面
     */
    @RequestMapping(value = "/supplierPage")
    public String supplierPage(){
        return "/supplierPage";
    }
 
    /**
     * 添加一個(gè)供應(yīng)商
     */
    @RequestMapping(value = "/supplierAdd")
    @ResponseBody
    public Object supplierAdd(Supplier supplier){
        try{
            supplier.setCreatetime(new Date());
            int i = supplierService.addSupplier(supplier);
            return ResultMapUtil.getHashMapSave(i);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }
 
    /**
     * 轉(zhuǎn)向供應(yīng)商編輯頁(yè)面
     */
    @RequestMapping(value = "/supplierQueryById")
    public String supplierQueryById(@RequestParam(name = "id",required = true)Integer id, Model model){
        Supplier supplier = supplierService.querySupplierById(id);
        model.addAttribute("obj",supplier);
        return "/supplierPage";
    }
 
    /**
     * 修改一個(gè)供應(yīng)商
     */
    @RequestMapping(value = "/supplierEdit")
    @ResponseBody
    public Object supplierEdit(Supplier supplier){
        try{
            int i = supplierService.editSupplier(supplier);
            return ResultMapUtil.getHashMapSave(i);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }
 
    /**
     * 刪除一個(gè)供應(yīng)商
     */
    @RequestMapping(value = "/supplierDelById")
    @ResponseBody
    public Object supplierDelById(Integer id){
        try{
            int i = supplierService.delSupplierById(id);
            return ResultMapUtil.getHashMapDel(i);
        } catch (Exception e){
            return ResultMapUtil.getHashMapException(e);
        }
    }
 
    /**
     * 獲取所有供應(yīng)商
     */
    @RequestMapping(value = "/supplierList")
    @ResponseBody
    public Object supplierList(){
        List<Supplier> supplierList = supplierService.querySupplierList();
        return ResultMapUtil.getHashMapList(supplierList);
    }
 
}

以上就是Java實(shí)戰(zhàn)之藥品管理系統(tǒng)的實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Java藥品管理系統(tǒng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Springboot整合mybatisplus的項(xiàng)目實(shí)戰(zhàn)

    Springboot整合mybatisplus的項(xiàng)目實(shí)戰(zhàn)

    本文主要介紹了Springboot整合mybatisplus的項(xiàng)目實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 淺析MMAP零拷貝在RocketMQ中的運(yùn)用

    淺析MMAP零拷貝在RocketMQ中的運(yùn)用

    零拷貝技術(shù)可以減少數(shù)據(jù)拷貝和共享總線操作的次數(shù),消除傳輸數(shù)據(jù)在存儲(chǔ)器之間不必要的中間拷貝次數(shù),從而有效地提高數(shù)據(jù)傳輸效率,這篇文章主要介紹了MMAP零拷貝在RocketMQ中的運(yùn)用,需要的朋友可以參考下
    2022-07-07
  • idea 配置checkstyle詳細(xì)步驟

    idea 配置checkstyle詳細(xì)步驟

    checkstyle是提高代碼質(zhì)量,檢查代碼規(guī)范的很好用的一款工具,本文簡(jiǎn)單介紹一下集成的步驟,并提供一份完整的checkstyle的代碼規(guī)范格式文件,以及常見(jiàn)的格式問(wèn)題的解決方法,需要的朋友可以參考下
    2023-11-11
  • Java8新特性之接口中的默認(rèn)方法和靜態(tài)方法詳解

    Java8新特性之接口中的默認(rèn)方法和靜態(tài)方法詳解

    今天帶大家學(xué)習(xí)的是Java8新特性的相關(guān)知識(shí),文章圍繞著Java接口中的默認(rèn)方法和靜態(tài)方法展開(kāi),文中有非常詳細(xì)的的代碼示例,需要的朋友可以參考下
    2021-06-06
  • string boot 與 自定義interceptor的實(shí)例講解

    string boot 與 自定義interceptor的實(shí)例講解

    下面小編就為大家分享一篇string boot 與 自定義interceptor的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • eclipse下ini設(shè)置詳情

    eclipse下ini設(shè)置詳情

    這篇文章主要介紹了eclipse下ini設(shè)置詳情,需要的朋友可以參考下
    2017-10-10
  • mybatis-plus雪花算法生成Id使用詳解

    mybatis-plus雪花算法生成Id使用詳解

    本文主要介紹了mybatis-plus雪花算法生成Id使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • MyBatis傳遞多個(gè)參數(shù)方式

    MyBatis傳遞多個(gè)參數(shù)方式

    這篇文章主要介紹了MyBatis傳遞多個(gè)參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Java超詳細(xì)講解三大特性之一的多態(tài)

    Java超詳細(xì)講解三大特性之一的多態(tài)

    多態(tài)就是指程序中定義的引用變量所指向的具體類(lèi)型和通過(guò)該引用變量發(fā)出的方法調(diào)用在編程時(shí)并不確定,而是在程序運(yùn)行期間才確定,即一個(gè)引用變量到底會(huì)指向哪個(gè)類(lèi)的實(shí)例對(duì)象,該引用變量發(fā)出的方法調(diào)用到底是哪個(gè)類(lèi)中實(shí)現(xiàn)的方法,必須在由程序運(yùn)行期間才能決定
    2022-05-05
  • java swing 創(chuàng)建一個(gè)簡(jiǎn)單的QQ界面教程

    java swing 創(chuàng)建一個(gè)簡(jiǎn)單的QQ界面教程

    這篇文章主要介紹了java swing 創(chuàng)建一個(gè)簡(jiǎn)單的QQ界面教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09

最新評(píng)論