Java项目:医院预约挂号系统(java+Springboot+jsp+maven+layui+mysql)
Posted qq_1334611189
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java项目:医院预约挂号系统(java+Springboot+jsp+maven+layui+mysql)相关的知识,希望对你有一定的参考价值。
一、项目简述
功能包括:
用户分为患者,医生,管理员,患者可进行注册选择医生挂号,选择日期,选择号源,医生可进行接诊,管理员可对用户,医生信息的维护等等功能。
二、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP +Spring + SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等
医生业务处理层:
@Service
public class DoctorServiceImp implements DoctorService
@Autowired
private DoctorMapper dm;
@Override
public int countByExample(DoctorExample example)
return dm.countByExample(example);
@Override
public int deleteByPrimaryKey(Integer id)
return dm.deleteByPrimaryKey(id);
@Override
public int insertSelective(Doctor record)
// TODO Auto-generated method stub
return dm.insertSelective(record);
@Override
public List<Doctor> selectByExample(DoctorExample example)
// TODO Auto-generated method stub
return dm.selectByExample(example);
@Override
public Doctor selectByPrimaryKey(Integer id)
// TODO Auto-generated method stub
return dm.selectByPrimaryKey(id);
@Override
public int updateByPrimaryKeySelective(Doctor record)
// TODO Auto-generated method stub
return dm.updateByPrimaryKeySelective(record);
@Override
public int updateByPrimaryKey(Doctor record)
// TODO Auto-generated method stub
return dm.updateByPrimaryKey(record);
@Override
public List<Doctor> selectDoctor(Doctor doctor)
DoctorExample se = new DoctorExample();
DoctorExample.Criteria criteria = se.createCriteria();
if(doctor != null)
if(doctor.getName() != null && !"".equals(doctor.getName()))
//模糊查询
criteria.andNameLike( "%" +doctor.getName() +"%");
if(doctor.getUsername() != null)
criteria.andUsernameEqualTo(doctor.getUsername());
if(doctor.getPasswoed() != null)
criteria.andPasswoedEqualTo(doctor.getPasswoed());
if(doctor.getBegindate() != null)
criteria.andBegindateEqualTo(doctor.getBegindate());
if(doctor.getSid() != null)
criteria.andSidEqualTo(doctor.getSid());
se.setOrderByClause("id desc");
return dm.selectByExample(se);
@Override
public PageInfo<Doctor> selectDoctorList(Doctor doctor, Integer page, Integer size)
PageHelper.startPage(page,size);
DoctorExample se = new DoctorExample();
DoctorExample.Criteria criteria = se.createCriteria();
if(doctor != null)
if(doctor.getName() != null && !"".equals(doctor.getName()))
//模糊查询
criteria.andNameLike( "%" +doctor.getName() +"%");
se.setOrderByClause("id desc");
List<Doctor> shops = dm.selectByExample(se);
PageInfo<Doctor> pageinfo = new PageInfo<Doctor>(shops);
return pageinfo;
@Override
public List<Doctor> selectTime(Doctor doctor)
// TODO Auto-generated method stub
return dm.selectTime(doctor);
管理员业务处理层:
@Service
public class AdminServiceImp implements AdminService
@Autowired
private AdminMapper am;
@Override
public int insertSelective(Admin record)
// TODO Auto-generated method stub
return am.insertSelective(record);
@Override
public List<Admin> selectByExample(AdminExample example)
// TODO Auto-generated method stub
return am.selectByExample(example);
@Override
public Admin selectByPrimaryKey(Integer id)
// TODO Auto-generated method stub
return am.selectByPrimaryKey(id);
@Override
public int updateByPrimaryKeySelective(Admin record)
// TODO Auto-generated method stub
return am.updateByPrimaryKeySelective(record);
@Override
public List<Admin> selectAdmin(Admin admin)
AdminExample ae = new AdminExample();
AdminExample.Criteria criteria = ae.createCriteria();
if(admin.getUsername() != null)
criteria.andUsernameEqualTo(admin.getUsername());
if(admin.getPassword() != null)
criteria.andPasswordEqualTo(admin.getPassword());
return am.selectByExample(ae);
登录控制层:
/**
* 登录控制层
*/
@Controller
@RequestMapping("/login")
public class LoginController
@Autowired
private AdminService adminService;
@Autowired
private DoctorService doctorService;
@Autowired
private SectionService sectionService;
@Autowired
private PatientService patientService;
@Value("$fileUrl") //在配置文件中获取文件的保存路径
private String filePath;
/**
* 后台登陆界面
* @throws IOException
*/
@RequestMapping("/afterView")
public String afterLogin(Integer type,Model model)
if(type == null)
type = 1;
model.addAttribute("type",type);
return "login";
/**
* 后台登陆界面
*/
@RequestMapping("/index")
public String index(Integer type,Model model)
if(type == null)
type = 1;
model.addAttribute("type",type);
return "login";
/**
* 后台登陆界面
*/
@RequestMapping("/font/index")
public String fontIndex(Integer type,Model model)
if(type == null)
type = 3;
model.addAttribute("type",type);
return "loginByPatient";
/* public static void main(String[] args)
String filename ="C:\\\\Users\\\\Administrator\\\\Pictures\\\\项目图片\\\\1156.jpg_wh1200.jpg";
int indexOf = filename.indexOf(".");
String substring = filename.substring(indexOf);
System.out.println(substring);
*/
/**
* 医生图片上传
* @param mufile
* @param id
* @return
* @throws IOException
*/
@RequestMapping(value ="/zixunAdd")
@ResponseBody
public Map<String, Object> zixunAdd(@RequestParam("mf")MultipartFile mufile,@RequestParam("id")Integer id) throws IOException
Map<String, Object> map = new HashMap<String, Object>();
String random = StringRandom.getRandom();
String filename = mufile.getOriginalFilename();
//随机字符+原图片名用作新的图片名
filename = random+".jpg";
try
//文件保存路径 D:/xxxx/xxxx/
File file = new File(filePath+filename);
//判断父级文件是否存在
if (!file.getParentFile().exists())
file.getParentFile().mkdir();
mufile.transferTo(file);
catch (IllegalStateException | IOException e)
e.printStackTrace();
Doctor doctor = new Doctor();
if(id != -1)
doctor.setId(id);
doctor.setImg("/files/"+filename);
doctorService.updateByPrimaryKeySelective(doctor);
else
//添加图片路径
doctor.setImg("/files/"+filename);
doctorService.insertSelective(doctor);
System.out.println("id:"+doctor.getId());
map.put("id",doctor.getId());
return map;
/**
* 判断管理员账号
*/
@RequestMapping("/sectionxList")
@ResponseBody
public List<Section> sectionxList(Model model, Integer id)
List<Section> selectByExample = null;
if(id != null)
Section section = new Section();
section.setPid(id);
selectByExample = sectionService.selectByExample(section);
return selectByExample;
/**
* 判断管理员账号
*/
@RequestMapping("/mimaUpate")
@ResponseBody
public Map<String,String> passwordUpate(Model model, String zhanghao)
Map<String, String> map = new HashMap<String, String>();
Admin ad = new Admin();
ad.setUsername(zhanghao);
List<Admin> selectAdmin = adminService.selectAdmin(ad);
if(selectAdmin.size() > 0)
map.put("pan","err");
else
map.put("pan","ok");
return map;
/**
* 判断医生账号
*/
@RequestMapping("/panzhanghao")
@ResponseBody
public Map<String,String> panzhanghao(Model model, String zhanghao)
Map<String, String> map = new HashMap<String, String>();
DoctorExample se = new DoctorExample();
DoctorExample.Criteria criteria = se.createCriteria();
criteria.andUsernameEqualTo(zhanghao);
List<Doctor> selectByExample = doctorService.selectByExample(se);
if(selectByExample.size() > 0)
map.put("pan","err");
else
map.put("pan","ok");
return map;
/**
* 医生添加
* @param model
* @param zixun
* @return
*/
@RequestMapping("/zixunInsert")
public String zixunInsert(Model model,Doctor doctor)
if(doctor.getId() != null)
if(doctor.getSid() != null)
Section selectByPrimaryKey = sectionService.selectByPrimaryKey(doctor.getSid());
doctor.setSname(selectByPrimaryKey.getName());
doctorService.updateByPrimaryKeySelective(doctor);
model.addAttribute("type",1);
return "login";
/**
* 管理员注册界面
*/
@RequestMapping("/mimaPageUptate")
public String mimaPageUptate(Integer type,Model model)
//1医生 2 管理员
if(type == 1 )
return "doctorRegister";
return "adminRegister";
/**
* 医生注册界面
*/
@RequestMapping("/doctorRegisterPage")
public String doctorRegister(Model model)
List<Section> sectionlist2 = null;
Section se = new Section();
se.setType(1);
List<Section> sectionlist = sectionService.selectByExample(se);
if(sectionlist.size() > 0 )
//科室详情
Section section = new Section();
section.setPid(sectionlist.get(0).getId());
section.setType(2);
sectionlist2 = sectionService.selectByExample(section);
model.addAttribute("sectionlist", sectionlist);
model.addAttribute("sectionlist2", sectionlist2);
return "doctorRegister";
/**
* 管理员注册
*/
@RequestMapping("/admin_Register")
public String admin_Register(Admin admin,Model model)
int insertSelective = adminService.insertSelective(admin);
model.addAttribute("type",2);
return "login";
/**
* 登陆验证
* @return
*/
@RequestMapping("/verificatio")
public String verificatio(String username, String password, Integer type, HttpServletRequest request,Model model)
HttpSession session = request.getSession();
session.setAttribute("type",type);
//类型为1是医院 2是管理员
if(type == 1)
Doctor doctor = new Doctor();
doctor.setUsername(username);
doctor.setPasswoed(password);
List<Doctor> doctorlist = doctorService.selectDoctor(doctor);
if(doctorlist.size() <= 0)
model.addAttribute("message","密码错误");
model.addAttribute("type",type);
return "login";
session.setAttribute("DOCTOR",doctorlist.get(0));
return "redirect:/doctor/index";
if(type == 3)
Patient patient = new Patient();
patient.setUsername(username);
patient.setPassword(password);
List<Patient> list = patientService.selectPatient(patient);
if(list.size() <= 0)
model.addAttribute("message","密码错误");
model.addAttribute("type",type);
return "loginByPatient";
session.setAttribute("PATIENT",list.get(0));
return "redirect:/api/doctorList1";
Admin admin = new Admin();
admin.setUsername(username);
admin.setPassword(password);
List<Admin> adminlist = adminService.selectAdmin(admin);
if(adminlist.size() <= 0)
model.addAttribute("message","密码错误");
model.addAttribute("type",type);
return "login";
session.setAttribute("ADMIN",adminlist.get(0));
return "redirect:/admin/index";
/**
* 退出登录
* @param request
* @return
*/
@RequestMapping("/sessionInvalidate")
public String boot(HttpServletRequest request,Model model)
HttpSession session = request.getSession();
Integer type = (Integer) session.getAttribute("type");
if(type == null)
type=1;
if(type == 3)
model.addAttribute("type",type);
session.invalidate(); //session销毁
return "loginByPatient";
model.addAttribute("type",type);
session.invalidate(); //session销毁
return "login";
/*
*//**
* 跳转忘记密码界面
*//*
@RequestMapping("/mimaPageUptate")
public String passwordUpate()
return "behind/merchant/mibaoUptate";
*//**
* 修改密码
*//*
@RequestMapping("/mimaUpate")
@ResponseBody
public Map<String,String> passwordUpate(Model model, String mima, String mibao, String zhanghao)
Map<String, String> map = new HashMap<String, String>();
Merchant me = new Merchant();
me.setZhanghao(zhanghao);
me.setMibao(mibao);
List<Merchant> list = merchantService.selectMerchant(me);
if(list.size() > 0)
Merchant me2 = new Merchant();
me2.setId(list.get(0).getId());
me2.setMima(mima);
merchantService.updateByPrimaryKeySelective(me2);
map.put("pan","ok");
else
map.put("pan","err");
return map;
*//**
* 后台登陆界面
* @return
*//*
@RequestMapping("/afterView")
public String afterLogin(Integer type,Model model)
if(type == null)
type = 1;
model.addAttribute("type",type);
return "behind/login";
*//**
* 登陆验证
* @return
*//*
@RequestMapping("/verificatio")
public String signin(String username, String password, Integer type, HttpServletRequest request,Model model)
HttpSession session = request.getSession();
session.setAttribute("type",type);
//类型为1是商户后台 2是管理员
if(type == 1)
Merchant merchant = new Merchant();
merchant.setZhanghao(username);
merchant.setMima(password);
merchant.setState(1);
List<Merchant> merchants = merchantService.selectMerchant(merchant);
if(merchants.size() <= 0)
model.addAttribute("message","密码错误");
model.addAttribute("type",type);
return "behind/login";
session.setAttribute("MERCHANT",merchants.get(0));
return "redirect:/merchant/index";
Admin admin = new Admin();
admin.setUsername(username);
admin.setPassword(password);
List<Admin> adminlist = adminService.selectAdmin(admin);
if(adminlist.size() <= 0)
model.addAttribute("message","密码错误");
model.addAttribute("type",type);
return "behind/login";
session.setAttribute("ADMIN",adminlist.get(0));
return "redirect:/admin/index";
*//**
* 退出登录
* @param request
* @return
*//*
@RequestMapping("/sessionInvalidate")
public String boot(HttpServletRequest request,Model model)
HttpSession session = request.getSession();
Integer type = (Integer) session.getAttribute("type");
if(type == null)
type=1;
model.addAttribute("type",type);
session.invalidate(); //session销毁
return "behind/login";
*//**
* 管理员修改密码界面
* @return
*//*
@RequestMapping("/adminUptatePage")
public String adminUptatePage(Model model)
return "behind/admin/adminUptate";
*//**
* 商户修改密码界面
* @return
*//*
@RequestMapping("/merchantUptate")
public String merchantUptate(Model model)
return "behind/merchant/merchantUptate";
*/
以上是关于Java项目:医院预约挂号系统(java+Springboot+jsp+maven+layui+mysql)的主要内容,如果未能解决你的问题,请参考以下文章