当前位置:网站首页>ssm人事管理系统
ssm人事管理系统
2022-07-02 06:24:00 【夜未央5788】
作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
ssm人事管理系统。主要功能有:
用户管理:用户查询、添加用户;
部门管理:部门查询、添加部门;
职位管理:职位查询、添加职位;
员工管理:员工查询、添加员工;
公告管理:公告查询、添加公告;
下载中心:文档查询、上传文档;
环境需要
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.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;
技术栈
1. 后端:Spring SpringMVC MyBatis
2. 前端:ligerUI+jquery+metronic+jsp
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中db.properties配置文件中的数据库配置改为自己的配置
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
4. 运行项目,输入localhost:8080/ 登录
运行截图

相关代码
职位控制器
@Controller
@RequestMapping("/job")
public class JobHandler {
@Autowired
private IJobService jobService;
@RequestMapping("findJob.do")
public String findJob(@RequestParam(defaultValue = "1") int pageIndex, Model model, String name,String flag){
PageModel pageModel=new PageModel();
int count=jobService.findJobCount(name);
pageModel.setRecordCount(count);
if(flag!=null){
pageModel.setPageIndex(pageModel.getTotalSize());
}else{
pageModel.setPageIndex(pageIndex);
}
List<Job> jobs=jobService.findJob(pageModel,name);
model.addAttribute("name",name);
model.addAttribute("pageModel",pageModel);
model.addAttribute("jobs",jobs);
return "/jsp/job/job.jsp";
}
/*按id查找职位*/
@RequestMapping("findJobById.do")
public String findJobById(Integer id,Model model,int pageIndex){
Job job=jobService.findJobById(id);
model.addAttribute("pageIndex",pageIndex);
model.addAttribute("job",job);
return "/jsp/job/showUpdateJob.jsp";
}
/*修改职位*/
@RequestMapping("modifyJob.do")
@ResponseBody
public String modifyJob(Job job){
int row=jobService.modifyJob(job);
if(row>0){
return "OK";
}
else{
return "FAIL";
}
}
/*删除职位*/
@RequestMapping("removeJob.do")
@ResponseBody
public String remove(Integer[] ids){
try {
int rows = jobService.removeJob(ids);
if (rows == ids.length) {
return "OK";
} else {
return "FAIL";
}
}catch (DataIntegrityViolationException e){
return "ERROR";
}
}
/*添加职位*/
@RequestMapping("addJob.do")
@ResponseBody
public String addJob(Job job){
int row=jobService.addJob(job);
if(row>0){
return "OK";
}else{
return "FAIL";
}
}
}
用户控制器
@Controller
@RequestMapping("/user")
public class UserHandler {
@Autowired
private IUserService userService;
@RequestMapping("/login.do")
public String login(User user, HttpSession session, Model model){
//System.out.println(user);
User login_user = userService.findUserByLoginnameAndPassword(user);
//System.out.println(login_user);
if (login_user != null){
session.setAttribute("login_user",login_user);
return "/jsp/main.jsp";
}else {
model.addAttribute("login_error","用户名或密码不正确,请重新输入!");
return "/index.jsp";
}
}
@RequestMapping("/logout.do")
public String logout(HttpSession session,Model model){
session.removeAttribute("login_user");
model.addAttribute("login_error","退出成功,请重新登录!");
return "/index.jsp";
}
@RequestMapping("/aaa.do")
public String aaa(){
return "/jsp/main.jsp";
}
@RequestMapping("/findUser.do")
public String findUser(@RequestParam(defaultValue = "1") int pageIndex, User user,Model model){
PageModel pageModel = new PageModel();
pageModel.setPageIndex(pageIndex);
int count = userService.findUserCount(user);
pageModel.setRecordCount(count);
List<User> users = userService.findUser(pageModel,user);
model.addAttribute("pageModel",pageModel);
model.addAttribute("user",user);
model.addAttribute("users",users);
return "/jsp/user/user.jsp";
}
@RequestMapping("/modifyUser.do")
public String modifyUser(User user,String flag,Model model){
if (flag == null){
user = userService.findUserById(user.getId());
model.addAttribute("user",user);
return "/jsp/user/showUpdateUser.jsp";
}else {
int rows = userService.modifyUser(user);
if (rows > 0){
return "redirect:/user/findUser.do";
}else {
model.addAttribute("fail","用户信息修改失败!");
return "/jsp/fail.jsp";
}
}
}
@RequestMapping("/removeUser.do")
public String removeUser(Integer[] ids,Model model,HttpSession session){
User login_user = (User) session.getAttribute("login_user");
for (Integer id:ids){
if (id==login_user.getId()){
model.addAttribute("fail","不能删除当前登录用户!");
return "/jsp/fail.jsp";
}
}
try {
int rows = userService.removeUserById(ids);
if (rows == ids.length){
return "redirect:/user/findUser.do";
}else {
model.addAttribute("fail","用户信息删除失败!");
return "/jsp/fail.jsp";
}
}catch (DataIntegrityViolationException e){
model.addAttribute("fail","用户有发布公告或者文件,不能删除!");
return "/jsp/fail.jsp";
}
/*int rows=0;
for (Integer id:ids){
int row = userService.removeUser(id);
if (row >0){
rows++;
}
}
if (rows == ids.length){
return "redirect:/user/findUser.do";
}else {
model.addAttribute("fail","用户信息删除失败!");
return "/jsp/fail.jsp";
}*/
}
@RequestMapping("/addUser.do")
public String addUser(User user,Model model){
int rows = userService.addUser(user);
if (rows > 0){
return "redirect:/user/findUser.do";
}else {
model.addAttribute("fail","用户信息添加失败!");
return "/jsp/fail.jsp";
}
}
}
如果也想学习本系统,下面领取。回复:054ssm
边栏推荐
- Anti shake and throttling of JS
- 2021-07-17C#/CAD二次开发创建圆(5)
- Stress test modification solution
- php中的二维数组去重
- ORACLE 11G利用 ORDS+pljson来实现json_table 效果
- Brief analysis of PHP session principle
- 搭建frp进行内网穿透
- SQL injection closure judgment
- Solve the problem of bindchange event jitter of swiper component of wechat applet
- Implement strstr() II
猜你喜欢

sqli-labs通关汇总-page2

In depth study of JVM bottom layer (V): class loading mechanism

mapreduce概念和案例(尚硅谷学习笔记)

Review of reflection topics

Sqli labs customs clearance summary-page1

SQL注入闭合判断

The win10 network icon disappears, and the network icon turns gray. Open the network and set the flash back to solve the problem

Explain in detail the process of realizing Chinese text classification by CNN

Latex compiles Chinese in vscode and solves the problem of using Chinese path

Solve the problem of bindchange event jitter of swiper component of wechat applet
随机推荐
Sublime text configuring PHP compilation environment
In depth study of JVM bottom layer (3): garbage collector and memory allocation strategy
Sentry construction and use
ARP攻击
PgSQL learning notes
The table component specifies the concatenation parallel method
DNS攻击详解
CVE-2015-1635(MS15-034 )远程代码执行漏洞复现
Cloud picture says | distributed transaction management DTM: the little helper behind "buy buy buy"
2021-07-19c CAD secondary development creates multiple line segments
ORACLE EBS ADI 开发步骤
The win10 network icon disappears, and the network icon turns gray. Open the network and set the flash back to solve the problem
The use of regular expressions in JS
Check log4j problems using stain analysis
js判断数组中对象是否存在某个值
php中通过集合collect的方法来实现把某个值插入到数组中指定的位置
pm2简单使用和守护进程
Recursion (maze problem, Queen 8 problem)
mapreduce概念和案例(尚硅谷学习笔记)
Laravel8中的find_in_set、upsert的使用方法