Java项目:中药药方管理系统(java+SSM+JSP+bootstrap+Mysql)

本文主要是介绍Java项目:中药药方管理系统(java+SSM+JSP+bootstrap+Mysql),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

本项目分为药房人员、管理员与医生三种角色;
药房人员角色包含以下功能:
药房人员登录,导诊单管理,采购管理等功能。

管理员角色包含以下功能:
管理员登录,药房人员管理,医生管理,药材信息管理,药方管理等功能。

医生角色包含以下功能:
医生登录,药材信息查询,药方查询,导诊单管理等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 5.7/8.0版本均可;
6.是否Maven项目:是;

技术栈

1. 后端:Spring+SpringMVC+Mbytes
2. 前端:JSP+css+javascript+bootstrap+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中db.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入localhost:8080/ssm_yaofangsys/
医生账号/密码: doctor/123456
药房人员账号/密码:yaofang/123456
管理员账号/密码:admin/admin

 

 

 

 

 

 

 

登录管理控制层:

@Controller
@RequestMapping("/login")
public class LoginController extends BaseController{@Autowiredprivate ManageService manageService;@Autowiredprivate MedicineUserService medicineUserService;@Autowiredprivate DoctorService doctorService;/*** 跳转登陆* @return*/@RequestMapping("/login")public String login(){return "login/mLogin";}@RequestMapping("/index")public String index(){return "login/mIndex";}@RequestMapping("/uIndex")public String uIndex(Model model){return "login/uIndex";}@RequestMapping("/welcome")public String welcome(){return "login/welcome";}@RequestMapping("/mup")public String mpass(){return "login/mup";}/*** 管理员登陆* @param manage* @param request* @param response* @return*/@RequestMapping("/toLogin")public String toLogin(Manage manage,Integer role, HttpServletRequest request, HttpServletResponse response){if (role == null){return "redirect:/login/login.action";}//超级管理员if (role== 1){Manage byEntity = manageService.getByEntity(manage);if(byEntity != null){request.getSession().setAttribute("role", role);request.getSession().setAttribute("name", byEntity.getRealName());return "redirect:/login/index.action";}else{return "redirect:/login/login.action";}}//1 超级管理员2 医生  3 药房人员 if (role== 2){Doctor d = new Doctor();d.setPassword(manage.getPassword());d.setUserName(manage.getUserName());Doctor byEntity = doctorService.getByEntity(d);if(byEntity != null){request.getSession().setAttribute("role", role);request.getSession().setAttribute("name", byEntity.getRealName());request.getSession().setAttribute("userId", byEntity.getId());return "redirect:/login/index.action";}else{return "redirect:/login/login.action";}}//药房人员if (role== 3){MedicineUser d = new MedicineUser();d.setPassword(manage.getPassword());d.setUserName(manage.getUserName());MedicineUser byEntity = medicineUserService.getByEntity(d);if(byEntity != null){request.getSession().setAttribute("role", role);request.getSession().setAttribute("name", byEntity.getRealName());request.getSession().setAttribute("userId", byEntity.getId());return "redirect:/login/index.action";}else{return "redirect:/login/login.action";}}return null;}/*** 退出* @param request* @param response* @return*/@RequestMapping("/tuichu")public String tuichu( HttpServletRequest request, HttpServletResponse response){HttpSession session = request.getSession();session.invalidate();return "redirect:/login/login.action";}@RequestMapping("/uTui")public String uTui( HttpServletRequest request, HttpServletResponse response){HttpSession session = request.getSession();session.invalidate();return "redirect:/login/uLogin.action";}@RequestMapping("/head")private String head(){return "inc/head";}@RequestMapping("/left")private String left(){return "inc/left";}}

医生管理控制层: 

@Controller
@RequestMapping("/doctor")
public class DoctorController extends BaseController {/*** 依赖注入 start dao/service/===*/@Autowiredprivate DoctorService doctorService;@RequestMapping(value = "/findBySql")public String findBySql(Doctor doctor, Model model, HttpServletRequest request, HttpServletResponse response) {//分页查询String sql = "SELECT * FROM doctor WHERE 1=1  and isDelete = 0 ";//and isDelete = 0 if(!isEmpty(doctor.getUserName())){sql += " and userName like '%"+doctor.getUserName()+"%'";}if(!isEmpty(doctor.getPassword())){sql += " and password like '%"+doctor.getPassword()+"%'";}if(!isEmpty(doctor.getRealName())){sql += " and realName like '%"+doctor.getRealName()+"%'";}if(!isEmpty(doctor.getIdCard())){sql += " and idCard like '%"+doctor.getIdCard()+"%'";}if(!isEmpty(doctor.getPhone())){sql += " and phone like '%"+doctor.getPhone()+"%'";}if(!isEmpty(doctor.getSex())){sql += " and sex like '%"+doctor.getSex()+"%'";}if(!isEmpty(doctor.getIsDelete())){sql += " and isDelete like '%"+doctor.getIsDelete()+"%'";}sql += " ORDER BY ID DESC ";Pager<Doctor> pagers = doctorService.findBySqlRerturnEntity(sql);model.addAttribute("pagers", pagers);//存储查询条件model.addAttribute("obj", doctor);return "doctor/doctor";}/*** 跳至添加页面* @return*/@RequestMapping(value = "/add")public String add() {return "doctor/add";}/*** 添加执行* @return*/@RequestMapping(value = "/exAdd")public String exAdd(Doctor doctor, Model model, HttpServletRequest request, HttpServletResponse response) {doctor.setIsDelete(0);doctorService.insert(doctor);return "redirect:/doctor/findBySql";}/*** 跳至修改页面* @return*/@RequestMapping(value = "/update")public String update(Integer id,Model model) {Doctor obj = doctorService.load(id);model.addAttribute("obj",obj);return "doctor/update";}/*** 添加修改* @return*/@RequestMapping(value = "/exUpdate")public String exUpdate(Doctor doctor, Model model, HttpServletRequest request, HttpServletResponse response) {//1.通过实体类修改,可以多传修改条件doctorService.updateById(doctor);//2.通过主键id修改//doctorService.updateById(doctor);return "redirect:/doctor/findBySql";}/*** 删除通过主键* @return*/@RequestMapping(value = "/delete")public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {Doctor load = doctorService.load(id);load.setIsDelete(1);doctorService.update(load);doctorService.updateById(load);return "redirect:/doctor/findBySql";}}

药房人员管理控制层:

@Controller
@RequestMapping("/medicineUser")
public class MedicineUserController extends BaseController {/*** 依赖注入 start dao/service/===*/@Autowiredprivate MedicineUserService medicineUserService;@RequestMapping(value = "/findBySql")public String findBySql(MedicineUser medicineUser, Model model, HttpServletRequest request, HttpServletResponse response) {//分页查询String sql = "SELECT * FROM medicine_user WHERE 1=1  and isDelete = 0  ";//and isDelete = 0 if(!isEmpty(medicineUser.getUserName())){sql += " and userName like '%"+medicineUser.getUserName()+"%'";}if(!isEmpty(medicineUser.getPassword())){sql += " and password like '%"+medicineUser.getPassword()+"%'";}if(!isEmpty(medicineUser.getRealName())){sql += " and realName like '%"+medicineUser.getRealName()+"%'";}if(!isEmpty(medicineUser.getIdCard())){sql += " and idCard like '%"+medicineUser.getIdCard()+"%'";}if(!isEmpty(medicineUser.getPhone())){sql += " and phone like '%"+medicineUser.getPhone()+"%'";}if(!isEmpty(medicineUser.getSex())){sql += " and sex like '%"+medicineUser.getSex()+"%'";}if(!isEmpty(medicineUser.getIsDelete())){sql += " and isDelete like '%"+medicineUser.getIsDelete()+"%'";}sql += " ORDER BY ID DESC ";Pager<MedicineUser> pagers = medicineUserService.findBySqlRerturnEntity(sql);model.addAttribute("pagers", pagers);//存储查询条件model.addAttribute("obj", medicineUser);return "medicineUser/medicineUser";}/*** 跳至添加页面* @return*/@RequestMapping(value = "/add")public String add() {return "medicineUser/add";}/*** 添加执行* @return*/@RequestMapping(value = "/exAdd")public String exAdd(MedicineUser medicineUser, Model model, HttpServletRequest request, HttpServletResponse response) {medicineUser.setIsDelete(0);medicineUserService.insert(medicineUser);return "redirect:/medicineUser/findBySql";}/*** 跳至修改页面* @return*/@RequestMapping(value = "/update")public String update(Integer id,Model model) {MedicineUser obj = medicineUserService.load(id);model.addAttribute("obj",obj);return "medicineUser/update";}/*** 添加修改* @return*/@RequestMapping(value = "/exUpdate")public String exUpdate(MedicineUser medicineUser, Model model, HttpServletRequest request, HttpServletResponse response) {//1.通过实体类修改,可以多传修改条件medicineUserService.updateById(medicineUser);//2.通过主键id修改//medicineUserService.updateById(medicineUser);return "redirect:/medicineUser/findBySql";}/*** 删除通过主键* @return*/@RequestMapping(value = "/delete")public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {MedicineUser load = medicineUserService.load(id);load.setIsDelete(1);medicineUserService.updateById(load);return "redirect:/medicineUser/findBySql";}}

源码获取:俺的博客首页 "资源" 里下载!

这篇关于Java项目:中药药方管理系统(java+SSM+JSP+bootstrap+Mysql)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/408308

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再