实例介绍
【实例简介】实现了用户的登录、注册、增删改查等所有用户操作常用功能,适合初学者。
运行环境为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) 盖楼(回复)