Java数据库课程设计-招聘人才管理系统
Java數(shù)據(jù)庫課程設計-招聘人才管理系統(tǒng)
系統(tǒng)展示
登錄和注冊
公司單位的主菜單
發(fā)布招聘信息功能
招聘錄用
職員主界面
投遞簡歷
系統(tǒng)開發(fā)
一、設計要求
人才市場管理系統(tǒng)實現(xiàn)對人才市場業(yè)務的規(guī)范化管理,系統(tǒng)主要管理如下信息,公司用人單位:編號、名稱、聯(lián)系人、電話、招聘人數(shù)、學歷要求、職稱要求、薪資。求職人員:身份證號碼、姓名、地址、電話、學歷、職稱。系統(tǒng)需完成的功能,每個招聘單位可以招聘多名求職人員,每個求職人員只能與一家單位簽約;每位求職人員可以給多個單位投遞簡歷,但只能被一家公司錄用。系統(tǒng)也應能登記招聘單位和求職人員信息,記錄求職人員投遞簡歷情況,登記求職人員簽約情況,并能夠進行各種需要的查詢,統(tǒng)計功能。
此系統(tǒng)需要通過手機號進行注冊登錄,若是職員注冊登錄的,需要完善個人信息后,才能投遞簡歷。公司用人單位登錄后,可以根據(jù)實際情況,發(fā)布招聘信息,招聘信息上的所有信息都不能為空,而聯(lián)系人的手機號必須保證正確。修改招聘信息也同樣不能有空白的信息。公司用人單位可以查看系統(tǒng)上的所有的招聘信息,也可以通過關鍵字查找需要的招聘信息。公司用人單位可以查看職員投遞簡歷的情況,并且統(tǒng)計好發(fā)布的每條不同的招聘信息的投遞人數(shù),查看某一條招聘信息的投遞職員的詳細信息,并進行錄用。公司用人單位也可以查看招聘錄用的情況,并且統(tǒng)計好發(fā)布的每條不同的招聘信息的錄用人數(shù),查看某一條招聘信息的錄用職員的詳細信息,也可以進去刪除錄用的職員。職員個人登錄成功后,如果沒有完善好個人信息,需完善個人信息,才能投遞簡歷。求職人員可以查看系統(tǒng)上所有的招聘信息,也可以能過關鍵字查找需要的招聘信息,通過選擇合適的招聘信息,進行投遞。如果該信息已投遞過了,就不能重復投遞,若重復投遞,會出現(xiàn)提示信息。求職人員可以查看投遞簡歷的情況,也可以刪除投遞簡歷的信息。求職人員也可以查看被錄用的信息,若未被錄用,則會彈出提示。
二、功能分析
根據(jù)系統(tǒng)主要業(yè)務,可以分析得到公司用人單位子系統(tǒng)和職員個人子系統(tǒng)。
(一)公司用人單位子系統(tǒng)主要的數(shù)據(jù)處理過程分為對個人帳號信息的處理、對發(fā)布招聘信息的處理、對招聘錄用職員信息的處理,包括查看個人帳號信息,修改個人帳號信息,修改個人密碼,發(fā)布招聘信息,刪除招聘信息,修改招聘信息,查看招聘信息,查看投遞情況,錄用投遞職員,查看錄用情況,刪除錄用職員。具體處理如下:
查看個人帳號信息:根據(jù)登錄的帳號,查找數(shù)據(jù)庫里面的信息,將查找成功的帳號信息輸出到界面上。
修改個人帳號信息:根據(jù)登錄的帳號,查找出帳號信息,直接進行修改,修改完成后,傳回數(shù)據(jù)庫操作進行保存。
修改個人密碼:首先輸入舊密碼,接著輸入修改后的新密碼,最后輸入再次確認的新密碼,若舊密碼匹配成功,且前后兩次輸入的新密碼也相同,則修改成功,傳回數(shù)據(jù)庫操作進行保存。
發(fā)布招聘信息:根據(jù)實際情況,發(fā)布所需的招聘信息,每一個信息都不能為空,且聯(lián)系人的手機號必須正確輸入。信息輸入完成后,提交發(fā)布,將信息傳回數(shù)據(jù)庫操作進行添加。
刪除招聘信息:根據(jù)實際情況,選中要刪除的招聘信息,進行刪除,刪除成功后,將信息傳回數(shù)據(jù)庫操作進行永久性刪除。
修改招聘信息:根據(jù)實際情況,選中要刪除的招聘信息,將該信息輸出到界面上,對舊信息進行修改,同樣修改后的招聘信息,不能為空,提交修改后,將信息傳回數(shù)據(jù)庫操作進行保存。
查看招聘信息:根據(jù)帳號去匹配發(fā)布過的招聘信息,將招聘信息輸出到界面上。
查看投遞情況:根據(jù)發(fā)布的招聘信息編號來統(tǒng)計一共有多少求職人員,進行投遞,將統(tǒng)計好的招聘信息輸出到界面上,并且可以查看詳細的職員信息。
錄用投遞職員:根據(jù)實際情況,查看特定的招聘信息的詳細投遞情況,選擇合適的職員進行錄用,且同一個職員只能錄用一次,對于已被其它公司錄用的職員,不可以再次錄用。錄用成功后,需要將數(shù)據(jù)傳回到數(shù)據(jù)庫操作進行保存。
查看錄用情況:根據(jù)錄用的招聘信息的編號來統(tǒng)計一共錄用了多少職員,將統(tǒng)計好的招聘信息輸出到界面上,并且可以查看詳細的職員信息。
刪除錄用職員:根據(jù)實際情況,查看特實的招聘信息的詳細錄用情況,選擇要刪除的職員信息進行刪除。刪除成功后,需要將數(shù)據(jù)傳回到數(shù)據(jù)庫操作進行永久性刪除。
(二)職員個人子系統(tǒng)主要的數(shù)據(jù)處理過程分為對個人信息的處理、對投遞簡歷信息的處理,包括查看個人信息,修改個人信息,修改個人密碼,投遞簡歷,查看投遞簡歷,刪除投遞簡歷,查看錄用信息。具體處理如下:
查看個人信息:根據(jù)登錄的帳號,查找數(shù)據(jù)庫里面的信息,將查找成功的個人信息輸出到界面上。
修改個人信息:根據(jù)登錄的帳號,查找出個人信息,直接進行修改,修改完成后,傳回數(shù)據(jù)庫操作進行保存。
修改個人密碼:首先輸入舊密碼,接著輸入修改后的新密碼,最后輸入再次確認的新密碼,若舊密碼匹配成功,且前后兩次輸入的新密碼也相同,則修改成功,傳回數(shù)據(jù)庫操作進行保存。
投遞簡歷:根據(jù)實際情況,選擇想要投遞的招聘信息,進行投遞,同一條招聘信息不能重復投遞。投遞成功后,需要將數(shù)據(jù)傳回到數(shù)據(jù)庫操作進行保存。
查看投遞簡歷:根據(jù)職員投遞的招聘信息,對數(shù)據(jù)庫進行查找,將職員投遞過的招聘信息全部輸出到界面上。
刪除投遞簡歷:根據(jù)實際情況,輸出職員投遞的全部招聘信息,選擇需要刪除的招聘信息進行刪除,刪除成功后,需要將數(shù)據(jù)傳回到數(shù)據(jù)庫操作進行永久性刪除。
查看錄用信息:根據(jù)實際情況,若職員投遞的簡歷,被公司用人單位錄用后,將被錄用的招聘信息輸出到界面上。若沒有被錄用,則輸出提示。
三、系統(tǒng)E-R圖分析
賬號實體屬性圖
公司用人單位實體屬性圖
招聘信息實體屬性圖
公司子系統(tǒng)實體聯(lián)系圖
職員實體屬性圖
職員個人子系統(tǒng)實體聯(lián)系圖
人才市場管理系統(tǒng)總體E-R圖
關系數(shù)據(jù)模式
帳號(編號,姓名,手機號,密碼,權限)
此為帳號實體對應的關系模式。該關系模式已包含了聯(lián)系“公司”和“職員”所對應的關系模式。權限是關系的侯選碼。
公司(編號,姓名,手機號,密碼)
此為公司實體對應的關系模式。該關系模式已包含了聯(lián)系“招聘信息”所對應的關系模式。手機號就是關系的外鍵。
職員(編號,手機號,密碼,姓名,身份證號,地址,電話,學歷,職稱)
此為職員實體對應的關系模式。該關系模式已包含了聯(lián)系“招聘信息”所對應的關系模式。編號就是關系的侯選碼。
招聘信息(編號,手機號,名稱,聯(lián)系人,電話,招聘人數(shù),學歷要求,職稱要求,薪資)
此為招聘信息實體對應的關系模式。該關系模式已包含了聯(lián)系“公司”和“職員”所對應的關系模式。編號就是關系侯選碼。
數(shù)據(jù)庫表的設計
賬號表
字段名 類型 特殊屬性
| 賬號編號 | Int | 主鍵自增 |
| 姓名 | Varchar(10) | Not null |
| 手機號 | Varchar(11) | 外鍵 |
| 密碼 | Varchar(16) | Not null |
| 權限 | Int | Not null |
招聘信息表
| 編號 | Int | 主鍵自增 |
| 手機號 | Varchar(11) | Not null |
| 姓名 | Varchar(20) | Not null |
| 聯(lián)系人 | Varchar(10) | Not null |
| 電話 | Varchar(11) | Not null |
| 招聘人數(shù) | Varchar(10) | Not null |
| 學歷 | Varchar(10) | Not null |
| 職稱要求 | Varchar(200) | Not null |
| 薪資 | Varchar(10) | Not null |
職員表
| 編號 | Int | 主鍵自增 |
| 手機號 | Varchar(11) | Not null |
| 身份證號 | Varchar(18) | |
| 姓名 | Varchar(20) | Not null |
| 地址 | Varchar(20) | |
| 電話 | Varchar(11) | |
| 學歷 | Varchar(20) | |
| 職稱 | Varchar(20) |
投遞簡歷表
| 編號 | Int | 主鍵自增 |
| 招聘信息編號 | Int | Not null |
| 職員編號 | Int | Not null |
錄用職員表
| 編號 | Int | 主鍵自增 |
| 招聘信息編號 | Int | Not null |
| 職員編號 | Int | Not null |
系統(tǒng)程序流程圖
四、業(yè)務代碼的編寫
開發(fā)工具:eclipse、數(shù)據(jù)庫mysql5.7
源代碼程序詳細設計
public static final String DRIVER = "com.mysql.jdbc.Driver"; public static final String URL = "jdbc:mysql://localhost:3306/jobs"; public static final String USERNAME = "root"; public static final String PASSWORD = "123456"; static {try {Class.forName(DRIVER);}catch(ClassNotFoundException e) {e.printStackTrace();} } ……… try {conn = (Connection) DriverManager.getConnection(URL,USERNAME,PASSWORD); }catch(SQLException e) {e.printStackTrace(); } ……… try {if(rs != null) rs.close();if(ps != null) ps.close();if(conn != null) conn.close(); }catch (Exception e) {e.printStackTrace(); } ………1、 該代碼是用于連接訪問MySQL數(shù)據(jù)庫的,用靜態(tài)代碼塊來編寫,每次運行時,首先會加載此代碼。而且將此代碼封裝成為一個靜態(tài)類,每次連接釋放時,都可以通過類名來調用此方法。
public void setSearchText(String SearchText) {this.SearchTexts=SearchText;this.companyPageNo = 1;this.companyTotalCount = (int)companyDao.getCompanyTotal(SearchText);if(companyTotalCount%companyPageSize == 0) {companyTotalPage = companyTotalCount/companyPageSize;}else {companyTotalPage = companyTotalCount/companyPageSize+1;} } public CompanyPageModel(int companyPageSize) {this.companyPageNo = 1;this.companyPageSize = companyPageSize;this.companyTotalCount = (int)companyDao.getCompanyTotal("");if(companyTotalCount%companyPageSize == 0) {companyTotalPage = companyTotalCount/companyPageSize;}else {companyTotalPage = companyTotalCount/companyPageSize+1;} }2、 該代碼是用于關鍵字搜索和頁面的展示,根據(jù)不同情況統(tǒng)計頁數(shù)和展示搜索到的數(shù)據(jù)信息。初始化時,將關鍵字搜索內容設置為空,統(tǒng)計全部的招聘信息的數(shù)據(jù)。并且設置首頁為第一頁。
if(companyPageModel.getSearchText()!=null && !companyPageModel.getSearchText().equals("")) { String sql = "select companyNumber,companyName,companyPerson,companyPhone,companyCount,companyLearn,companyRequest,companyMoney from companyTable where companyName like ? or companyRequest like ? limit ?,? ";ps = (PreparedStatement) conn.prepareStatement(sql);ps.setString(1, "%"+companyPageModel.getSearchText()+"%");ps.setInt(3, (companyPageModel.getCompanyPageNo()-1)*companyPageModel.getCompanyPageSize()); }else {String sql = "select companyNumber,companyName,companyPerson,companyPhone,companyCount,companyLearn,companyRequest,companyMoney from companyTable limit ?,? ";ps = (PreparedStatement) conn.prepareStatement(sql);ps.setInt(1, (companyPageModel.getCompanyPageNo()-1)*companyPageModel.getCompanyPageSize());ps.setInt(2, companyPageModel.getCompanyPageSize()); } rs = ps.executeQuery(); if(!rs.wasNull()) {companys =new ArrayList<Company>(); } while(rs.next()) {Company company = new Company();company.setCompanyNumber(rs.getInt("companyNumber"));company.setCompanyName(rs.getString("companyName"));company.setCompanyPerson(rs.getString("companyPerson")); ………company.setCompanyRequest(rs.getString("companyRequest"));company.setCompanyMoney(rs.getString("companyMoney"));companys.add(company); }3、該代碼是用于分情況查詢招聘信息,如果關鍵字的信息為空,則查詢全部的招聘信息,否則按關鍵字的內容查詢招聘信息,并且將查詢到的招聘信息添加到招聘信息集合類中。
五、系統(tǒng)功能使用說明
人才市場管理系統(tǒng)主界面上有登錄和注冊的功能(如圖7-1和圖7-2),可以選擇不同類別進行登錄和注冊。登錄和注冊的帳號為手機號,且一個手機號只能注冊一個帳號。
圖7-1
圖7-2
公司單位主界面可以查看本系統(tǒng)上全部的招聘信息,而且可以通過關鍵字查詢所需要的招聘信息(如圖7-3)。左邊為公司單位的主菜單,可以根據(jù)需求使用不同的功能。
圖7-3
公司單位發(fā)布招聘信息功能(如圖7-4),必須根據(jù)需求填寫相應的內容,而且全部的內容都不能為空,手機號也必須為11位數(shù),否則發(fā)布招聘信息失敗。提供重置全部輸入框的內容。公司單位可以查看自己發(fā)布的全部招聘信息(如圖7-5),左邊為二級菜單欄,提供對已發(fā)布招聘信息的相關操作。刪除已發(fā)布的招聘信息,首先選中要刪除的招聘信息,點擊刪除招聘按鈕,會彈出提示是否要刪除選中的信息,確認則可以刪除招聘信息(如圖7-6)。修改已發(fā)布的招聘信息,首先選中要修改的招聘信息,點擊修改招聘按鈕,會彈出一個界面,該界面會將舊信息輸出,則可以在舊信息上進行修改,也可以重置全部的信息(如圖7-7)。
圖7-4
圖7-5
圖7-6
圖7-7
公司單位的招聘錄用功能,點擊查看全部招聘信息的投遞情況,選中某一條招聘信息,點擊查看詳情,則會進入到投遞簡歷的全部職員的信息界面,選中某一職員,點擊錄用,則可以進行錄用操作(如圖7-8)。若該職員已被錄取,則不能重復錄用,會彈出警告,請勿再次錄用(如圖7-9)。若該職員已被其它公司錄用,則不能重復錄用,會彈出警告,該職員已被其它公司錄用(如圖7-10)。
圖7-8
圖7-9
圖7-10
公司單位的查看錄用情況功能,點擊查看全部的招聘信息的錄用情況,選中某一條招聘信息,點擊查看詳情,則會進入到錄用該招聘信息的全部職員的信息界面,選中某一職員,也可以進行刪除錄用信息的功能,點擊刪除,會彈出提示,是否要刪除選中的信息(如圖7-11)。
圖7-11
職員主界面可以查看本系統(tǒng)上全部的招聘信息,而且可以通過關鍵字查詢所需要的招聘信息(如圖7-12)。左邊為職員的主菜單,可以根據(jù)需求使用不同的功能。
圖7-12
職員查看和修改個人信息的功能,點擊個人信息的按鈕,會彈出一個界面,該界面會將該職員的全部信息輸出。若該職員的個人信息未完善,則會彈出提醒,必須完善個人信息才能投遞簡歷。在該界面上也可以對個人信息進行修改,對舊信息也提供了重置功能,對個人信息進行重新設置(如圖7-13)。
圖7-13
職員投遞簡歷的功能,職員可以對系統(tǒng)上的任何一條招聘信息進行投遞,也可以按關鍵字搜索需要的招聘信息進行投遞,選中要投遞的招聘信息,再點擊投遞簡歷按鈕,則會彈出提示,是否要投遞選中的招聘信息,確實則完成了投遞簡歷(如圖7-14)。若該招聘信息已進行過投遞,則會彈出警告,該招聘信息已投遞,請勿再次投遞(如圖7-15)。
圖7-14
圖7-15
職員查看投遞簡歷的功能,點擊查看投遞按鈕,會彈出一個界面,將全部投遞過的招聘信息輸出(如圖7-16)。在該界面上也可以進行刪除已投遞過的簡歷信息,選中要刪除的招聘信息,點擊刪除,即可刪除掉已投遞過的簡歷(如圖7-17)。
圖7-16
圖7-17
職員查看招聘錄用功能,如果該職員投遞的簡歷已被錄取,則點擊查看錄用按鈕,會彈出一個界面,將錄用的招聘信息輸出(如圖7-18)。若該職員尚未被錄用,則會彈出提示,尚未被錄用,請耐心等待。
圖7-18
六、收獲、體會和建議
本次課程設計圍繞數(shù)據(jù)庫相關設計展開。在設計過程中,首先復習了數(shù)據(jù)庫設計流程和 相關內容,通過構建實體關系圖輔助完成關系表的設計,并通過范式理論中進一步優(yōu)化相關 數(shù)據(jù)。隨后了解了數(shù)據(jù)庫設計工具的使用,相關輔助設計工具的使用可以減少設計時的重復勞動,將更多精力關注在業(yè)務邏輯和設計上。在對數(shù)據(jù)庫進行設計的過程中,結構比較簡單,不能夠應對是否能復雜的情況,只能對簡單信息進行操作。另外,在安全性方面做得也不夠完善,主要原因在于設計的重點是功能的正常執(zhí)行,而不是在每一個細節(jié)做到完美。因此,這個數(shù)據(jù)庫系統(tǒng)需要我在以后的學習去完成每一個細節(jié)。
完整代碼下載!!!
資源下載路徑一
!!!
總結
以上是生活随笔為你收集整理的Java数据库课程设计-招聘人才管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springcloud篇面试宝典
- 下一篇: 诺顿企业版安装找不到路径