实例介绍
【实例简介】实现了用户的登录、注册、增删改查等所有用户操作常用功能,适合初学者。
运行环境为myeclips,带hibernate框架
【实例截图】
package job.action;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.List;
import org.junit.Test;
import com.opensymphony.xwork2.ModelDriven;
import job.dao.UserDao;
import job.dao.impl.ResumeDaoImpl;
import job.dao.impl.UserDaoImpl;
import job.entity.Information;
import job.entity.Resume;
import job.entity.Users;
import job.service.ResumeService;
import job.service.impl.ResumeServiceImpl;
import job.util.PageModel;
public class ResumeAction extends ActionSuper implements ModelDriven<Resume> {
private ResumeService resumeService = new ResumeServiceImpl();
private ResumeDaoImpl resumeDao = new ResumeDaoImpl();
private UserDao userDao = new UserDaoImpl();
public String showPageResume() {
// 先获取页面传入的currentPage ,currentPage由用户 点击 上一页或其他决定
String currentPage = request.getParameter("currentPage");
// 如果页面没有传入currentPage ,则报错
if (currentPage == null || "".equals(currentPage)) {
// 如果页面没有传入currentPage,则把currentPage 默认设置值为1
currentPage = "1";
}
// 调用dao中方法
// PageModel <Resume>
// model=resumeDao.selectPageResume(Integer.parseInt(currentPage), 3);
Users user = (Users) session.getAttribute("loginUser");
PageModel<Resume> model = resumeDao.selectUserPageResume(
Integer.parseInt(currentPage), 3, user.getAccount());
// 把查询到的model存放到request中
request.setAttribute("resumeModel", model);
return "showPageResume_success";
}
// 需求通过id查找对应的resume,把查询找到的数据发送给页面
public String findResume() {
// 获取页面要查找的id
String rid = request.getParameter("rid");
Users user = (Users) session.getAttribute("loginUser");
Information inf = userDao.selectInformation(user.getAccount());
// 通过id去数据查找数据
request.setAttribute("findInfo", inf);
Resume findResume = resumeDao.selectByIdResume(Integer.parseInt(rid));
// 把查找到的数据存入request
request.setAttribute("findResume", findResume);
// 返回
return "findResume_success";
}
// 1、获取到了数据库查询到的数据, 2、把查询到的数据 返回给页面
public String showAllResume() {
// 调用service中方法 获取到数据
List<Resume> list = resumeService.showAllResume();
// 把获取到的 数据 存放在 request中
request.setAttribute("resumeList", list);// ("该值得名称,后续 可以通过该名称 获取 request中的值",
// 具体要存放的值)
// 返回
return "showResume_success";
}
public String updateResume() throws Exception {
request.setCharacterEncoding("utf-8");
String account = request.getParameter("account");
// //String password=request.getParameter("password");
String gender = request.getParameter("gender");
// String birthday=request.getParameter("birthday");
String mobile = request.getParameter("mobile");
String email = request.getParameter("email");
String place = request.getParameter("place");
// String startYear=request.getParameter("startYear");
String name = request.getParameter("name");
String annualSalary = request.getParameter("annualSalary");
String rname = request.getParameter("rname");
String jobIntension = request.getParameter("jobIntension");
String introduction = request.getParameter("introduction");
String expectSalary = request.getParameter("expectSalary");
System.out.println("rname" rname);
Users user2 = new Users();
user2.setPassword("pwd2");
user2.setAccount(account);
Information inf = new Information();
inf.setAccount(account);
inf.setEmail(email);
inf.setBirthday(Date.valueOf("1990-09-09"));
inf.setName(name);
inf.setMobile(mobile);
inf.setPlace(place);
inf.setAnnualSalary(Integer.parseInt(annualSalary));
inf.setGender(Integer.parseInt(gender));
userDao.updateUser(user2, inf);
Resume resume = new Resume();
resume.setRid(4);
resume.setRname(rname);
resume.setJobIntension(jobIntension);
resume.setIntroduction(introduction);
resume.setExpectSalary(Integer.parseInt(expectSalary));
resume.setUpdateTime(new Timestamp(System.currentTimeMillis()));
resume.setUsers(user2);
resumeDao.updateResume(resume);// resume是 实现了ModelDriven接口后,自动和页面提交的数据绑定
return "updateResume_success";
}
public String deleteResume() {
String rid = request.getParameter("rid");
Resume resume = resumeDao.selectByIdResume(Integer.parseInt(rid));
resumeDao.delete(resume);// resume是 实现了ModelDriven接口后,自动和页面提交的数据绑定
return "deleteResume_success";
}
public String addResume() throws Exception {
// 获取页面中填写的数据
//
request.setCharacterEncoding("utf-8");
String account = request.getParameter("account");
// //String password=request.getParameter("password");
String gender = request.getParameter("gender");
// String birthday=request.getParameter("birthday");
String mobile = request.getParameter("mobile");
String email = request.getParameter("email");
String place = request.getParameter("place");
// String startYear=request.getParameter("startYear");
String name = request.getParameter("name");
String annualSalary = request.getParameter("annualSalary");
String rname = request.getParameter("rname");
String jobIntension = request.getParameter("jobIntension");
String introduction = request.getParameter("introduction");
String expectSalary = request.getParameter("expectSalary");
System.out.println(account);
System.out.println(gender);
System.out.println(mobile);
System.out.println(email);
// System.out.println(birthday);
System.out.println(name);
System.out.println(annualSalary);
System.out.println(place);
//
// //
System.out.println("-----------");
System.out.println(rname);
System.out.println(jobIntension);
System.out.println(introduction);
System.out.println(expectSalary);
Users user2 = new Users();
user2.setPassword("pwd2");
user2.setAccount(account);
// user.getInformations().add(inf);
Information inf = new Information();
inf.setAccount(account);
inf.setEmail(email);
inf.setBirthday(Date.valueOf("1990-09-09"));
inf.setName(name);
inf.setMobile(mobile);
inf.setPlace(place);
inf.setAnnualSalary(Integer.parseInt(annualSalary));
inf.setGender(Integer.parseInt(gender));
userDao.updateUser(user2, inf);
Resume resume = new Resume();
resume.setRname(rname);
resume.setJobIntension(jobIntension);
resume.setIntroduction(introduction);
resume.setExpectSalary(Integer.parseInt(expectSalary));
resume.setUpdateTime(new Timestamp(System.currentTimeMillis()));
resume.setUsers(user2);
resumeService.addResume(resume);
return "addResume_success";
}
private Resume resume = new Resume();
@Override
public Resume getModel() {// 实现了ModelDriven接口后 必须重写该方法; 该方法 可以 自动绑定 页面中传入的数据
return resume;
}
@Test
public void deleteResume2() {
// Resume resume=resumeDao.selectByIdResume(9);
// // 通过调用dao中的方法,更新数据
// // 直接 使用dao调用
// resumeDao.delete(resume);// resume是 实现了ModelDriven接口后,自动和页面提交的数据绑定
Users user2 = new Users();
user2.setPassword("pwd1");
user2.setAccount("account");
// user.getInformations().add(inf);
Information inf = new Information();
inf.setAccount("account");
inf.setEmail("123456@qq.com");
inf.setBirthday(Date.valueOf("1990-09-09"));
userDao.updateUser(user2, inf);
Resume resume = new Resume();
resume.setRname("我的job");
resume.setJobIntension("项目经理");
resume.setIntroduction("需要成长");
resume.setExpectSalary(6000);
resumeService.addResume(resume);
}
}
【数据库脚本】
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50516
Source Host : 127.0.0.1:3306
Source Database : 51job
Target Server Type : MYSQL
Target Server Version : 50516
File Encoding : 65001
Date: 2017-07-01 10:09:10
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for company
-- ----------------------------
DROP TABLE IF EXISTS `company`;
CREATE TABLE `company` (
`cid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`person` varchar(20) DEFAULT NULL,
`ctype` varchar(50) DEFAULT NULL COMMENT '账号',
`cno` varchar(50) DEFAULT NULL COMMENT '企业编号',
`profession` varchar(100) DEFAULT NULL,
`cname` varchar(100) DEFAULT NULL COMMENT '企业名称',
`company_info` varchar(10000) DEFAULT NULL COMMENT '公司简介',
PRIMARY KEY (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=1112 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for information
-- ----------------------------
DROP TABLE IF EXISTS `information`;
CREATE TABLE `information` (
`account` varchar(50) NOT NULL COMMENT '账号',
`name` varchar(20) DEFAULT NULL COMMENT '姓名',
`gender` int(11) DEFAULT NULL COMMENT '1代表男,2代表女',
`birthday` date DEFAULT NULL COMMENT '出生日期',
`start_working_year` date DEFAULT NULL COMMENT '开始工作年份',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`annual_salary` int(11) DEFAULT NULL COMMENT '年薪',
`mobile` varchar(20) DEFAULT NULL COMMENT '手机',
`place` varchar(20) DEFAULT NULL COMMENT '居住地',
PRIMARY KEY (`account`),
CONSTRAINT `information_ibfk_1` FOREIGN KEY (`account`) REFERENCES `users` (`account`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for recruit
-- ----------------------------
DROP TABLE IF EXISTS `recruit`;
CREATE TABLE `recruit` (
`cID` int(11) DEFAULT NULL,
`salary` varchar(20) DEFAULT NULL,
`address` varchar(200) DEFAULT NULL,
`rID` int(11) NOT NULL AUTO_INCREMENT COMMENT '招聘ID',
`username` varchar(50) DEFAULT NULL COMMENT '账号',
`demand_info` varchar(255) DEFAULT NULL COMMENT '需求介绍',
`demand_keyword` varchar(100) DEFAULT NULL COMMENT '需求关键字',
`date` datetime DEFAULT NULL COMMENT '发布日期',
PRIMARY KEY (`rID`),
KEY `FK_users_recruit_uid_fk` (`username`),
KEY `FK_users_recruit_cid_fk` (`cID`),
CONSTRAINT `FK_users_recruit_cid_fk` FOREIGN KEY (`cID`) REFERENCES `company` (`cid`),
CONSTRAINT `FK_users_recruit_uid_fk` FOREIGN KEY (`username`) REFERENCES `users` (`account`)
) ENGINE=InnoDB AUTO_INCREMENT=211 DEFAULT CHARSET=utf8 COMMENT='InnoDB free: 3072 kB; (`username`) REFER `51job/users`(`acco';
-- ----------------------------
-- Table structure for resume
-- ----------------------------
DROP TABLE IF EXISTS `resume`;
CREATE TABLE `resume` (
`rid` int(11) NOT NULL AUTO_INCREMENT COMMENT '简历ID',
`rname` varchar(50) DEFAULT NULL COMMENT '简历名称',
`username` varchar(50) DEFAULT NULL COMMENT '账号',
`job_intension` varchar(255) DEFAULT NULL COMMENT '求职意向',
`expect_salary` int(11) DEFAULT NULL COMMENT '期望薪资',
`introduction` varchar(255) DEFAULT NULL COMMENT '自我介绍',
`update_time` datetime DEFAULT NULL COMMENT '最后修改时间',
PRIMARY KEY (`rid`),
KEY `FK_resume_users_uid_fk` (`username`),
CONSTRAINT `FK_resume_users_uid_fk` FOREIGN KEY (`username`) REFERENCES `users` (`account`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for send_resume
-- ----------------------------
DROP TABLE IF EXISTS `send_resume`;
CREATE TABLE `send_resume` (
`rid` int(11) DEFAULT NULL COMMENT '简历ID',
`sid` int(11) NOT NULL AUTO_INCREMENT,
`recruitID` int(11) DEFAULT NULL COMMENT '招聘ID',
`account` varchar(50) DEFAULT NULL,
`date` datetime DEFAULT NULL COMMENT '投递时间',
PRIMARY KEY (`sid`),
KEY `FK_recruit_send_resume_recruitID_fk` (`recruitID`),
KEY `FK_resume_resume_fk` (`rid`),
KEY `account` (`account`),
CONSTRAINT `FK_recruit_send_resume_recruitID_fk` FOREIGN KEY (`recruitID`) REFERENCES `recruit` (`rID`),
CONSTRAINT `FK_resume_resume_fk` FOREIGN KEY (`rid`) REFERENCES `resume` (`rid`),
CONSTRAINT `send_resume_ibfk_1` FOREIGN KEY (`account`) REFERENCES `users` (`account`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`account` varchar(50) NOT NULL COMMENT '账号',
`password` varchar(50) DEFAULT NULL COMMENT '密码',
`status` int(11) DEFAULT NULL COMMENT '用户状态:1表示正常用户,2表示企业用户,0表示待审核',
PRIMARY KEY (`account`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
网友评论
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


支持(0) 盖楼(回复)