使用JAVA SE 实现的人员管理系统.docx
《使用JAVA SE 实现的人员管理系统.docx》由会员分享,可在线阅读,更多相关《使用JAVA SE 实现的人员管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
![使用JAVA SE 实现的人员管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/4/48f5c405-05c8-4401-a34a-1ee9b04655bd/48f5c405-05c8-4401-a34a-1ee9b04655bd1.gif)
使用JAVASE实现的人员管理系统
基于JAVASE的人员管理系统
以下是一个人员管理系统的完整代码。
包括人员编号、姓名、性别、雇佣日期等的增删改查操作。
使用到的技术是javaIO.DAO.Factory.和集合等JavaSE的知识。
对于巩固Java基础,提高Java技术有很大帮助。
使用的数据库是MySql。
以下的代码是完整的代码。
是直接从项目中拷贝出来的。
创建好数据库并加载数据库驱动后,将程序部署在Eclipse中就可以运行了。
数据库脚本是:
createtableuser(
idINTAUTO_INCREMENTPRIMARYKEY,
nameVARCHAR(50)NOTNULL,
sexVARCHAR(10)NOTNULL,
birthdayDATE
);
一、VO包。
packagevo;
importjava.util.Date;
publicclassUser{
privateStringname;
privateintid;
privateStringsex;
privateDatebirthday;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;
}
publicDategetBirthday(){
returnbirthday;
}
publicvoidsetBirthday(Datebirthday){
this.birthday=birthday;
}
@Override
publicStringtoString(){
return"编号:
"+id+"姓名:
"+name+",性别:
"+sex
+",生日:
"+birthday;
}
}
二、数据库连接的dbc包。
packagedbc;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
publicclassDataBaseConnection{
privatestaticfinalStringDBDRIVER="org.gjt.mm.mysql.Driver";
privatestaticfinalStringDBURL="jdbc:
mysql:
//localhost:
3306/user";
privatestaticfinalStringDBUSER="root";
privatestaticfinalStringDBPASS="123";
Connectionconn=null;
//声明一个数据库操作对象,并加载驱动程序、实例化。
publicDataBaseConnection(){
try{
Class.forName(DBDRIVER);
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
try{
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicConnectiongetConnection(){//返回这个数据库连接对象
returnthis.conn;
}
publicvoidclose(){//关闭数据库的操作。
if(this.conn!
=null){
try{
this.conn.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
三、dao包。
packagedao;
importjava.util.List;
importvo.User;
publicinterfaceIUserDAO{
/**创建一个用户对象。
*
*
**/
publicbooleandoCreate(Useruser)throwsException;
/**
*更新一个对象;
**/
publicbooleandoUpdata(Useruser)throwsException;
/**
*根据id号删除一个信息。
*@paramid
*@return
*/
publicbooleandoDelete(intid)throwsException;
/**
*根据id号查询一个用户的信息。
*@paramid
*@return
*/
publicUserfindById(intid)throwsException;
/**
*根据关键字,查询用户信息。
*@paramkeyWord
*@return
*/
publicListfindAll(StringkeyWord)throwsException;
}
四、dao的代理包。
packagedao.impl;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.util.ArrayList;
importjava.util.List;
importvo.User;
importdao.IUserDAO;
//接口的实现类。
publicclassIUserDAOImplimplementsIUserDAO{
privateConnectionconn=null;
publicIUserDAOImpl(Connectionconn){
this.conn=conn;
}
publicbooleandoCreate(Useruser)throwsException{
booleanflag=false;
PreparedStatementpstmt=null;
Stringsql="insertintouser(name,sex,birthday)values(?
?
?
)";
try{
pstmt=this.conn.prepareStatement(sql);
pstmt.setString(1,user.getName());
pstmt.setString(2,user.getSex());
pstmt.setDate(3,newjava.sql.Date(user.getBirthday().getTime()));
if(pstmt.executeUpdate()>0){
flag=true;
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
if(pstmt!
=null){
try{
pstmt.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
//this.dbc.close();
}
returnflag;
}
publicbooleandoUpdata(Useruser)throwsException{
booleanflag=false;
PreparedStatementpstmt=null;
Stringsql="updateusersetname=?
sex=?
birthday=?
whereid=?
";
try{
pstmt=this.conn.prepareStatement(sql);
pstmt.setString(1,user.getName());
pstmt.setString(2,user.getSex());
pstmt.setDate(3,newjava.sql.Date(user.getBirthday().getTime()));
pstmt.setInt(4,user.getId());
if(pstmt.executeUpdate()>0){
flag=true;
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
if(pstmt!
=null){
try{
pstmt.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
//this.dbc.close();
}
returnflag;
}
publicbooleandoDelete(intid)throwsException{
booleanflag=false;
PreparedStatementpstmt=null;
Stringsql="deletefromuserwhereid=?
";
try{
pstmt=this.conn.prepareStatement(sql);
pstmt.setInt(1,id);
if(pstmt.executeUpdate()>0){
flag=true;
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
if(pstmt!
=null){
try{
pstmt.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
//this.dbc.close();
}
returnflag;
}
publicUserfindById(intid)throwsException{
Useruser=null;
PreparedStatementpstmt=null;
Stringsql="selectid,name,sex,birthdayfromuserwhereidlike?
";
try{
pstmt=this.conn.prepareStatement(sql);
pstmt.setInt(1,id);
ResultSetrs=pstmt.executeQuery();
if(rs.next()){
user=newUser();
user.setId(rs.getInt
(1));
user.setName(rs.getString
(2));
user.setSex(rs.getString(3));
user.setBirthday(rs.getDate(4));
}
rs.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
if(pstmt!
=null){
try{
pstmt.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
//this.dbc.close();
}
returnuser;
}
publicListfindAll(StringkeyWord)throwsException{
Listall=newArrayList();
PreparedStatementpstmt=null;
Stringsql="selectid,name,sex,birthdayfromuserwhereidlike?
ornamelike?
orsexlike?
orbirthdaylike?
";
try{
pstmt=this.conn.prepareStatement(sql);
pstmt.setString(1,"%"+keyWord+"%");
pstmt.setString(2,"%"+keyWord+"%");
pstmt.setString(3,"%"+keyWord+"%");
pstmt.setString(4,"%"+keyWord+"%");
ResultSetrs=pstmt.executeQuery();
while(rs.next()){
Useruser=newUser();
user.setId(rs.getInt
(1));
user.setName(rs.getString
(2));
user.setSex(rs.getString(3));
user.setBirthday(rs.getDate(4));
all.add(user);
}
rs.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
if(pstmt!
=null){
try{
pstmt.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
//this.dbc.close();
}
returnall;
}
}
五、dao的真实代理。
packagedao.proxy;
importjava.util.List;
importvo.User;
importdao.IUserDAO;
importdao.impl.IUserDAOImpl;
importdbc.DataBaseConnection;
publicclassIUserDAOProxyimplementsIUserDAO{
privateDataBaseConnectiondbc=null;
privateIUserDAOdao=null;
publicIUserDAOProxy(){
this.dbc=newDataBaseConnection();
this.dao=newIUserDAOImpl(this.dbc.getConnection());
}
publicbooleandoCreate(Useruser)throwsException{
booleanflag=false;
try{
this.dao.doCreate(user);
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
this.dbc.close();
}
returnflag;
}
publicbooleandoUpdata(Useruser)throwsException{
booleanflag=false;
try{
this.dao.doUpdata(user);
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
this.dbc.close();
}
returnflag;
}
publicbooleandoDelete(intid)throwsException{
booleanflag=false;
try{
this.dao.doDelete(id);
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
this.dbc.close();
}
returnflag;
}
publicUserfindById(intid)throwsException{
Useruser=null;
try{
user=this.dao.findById(id);
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
this.dbc.close();
}
returnuser;
}
publicListfindAll(StringkeyWord)throwsException{
ListallUser=null;
try{
allUser=this.dao.findAll(keyWord);
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
this.dbc.close();
}
returnallUser;
}
}
六、工厂包。
packagefactory;
importdao.IUserDAO;
importdao.proxy.IUserDAOProxy;
publicclassDAOFactory{
publicstaticIUserDAOgetIUserDAOInstance(){
returnnewIUserDAOProxy();
}
}
七、菜单包。
packagemenu;
importoperate.UserOperate;
importutil.InputData;
publicclassMenu{
publicMenu(){
while(true){
this.show();
}
}
publicvoidshow(){
System.out.println("========FZQ人员管理系统==========");
System.out.println("1、增加用户");
System.out.println("2、修改用户");
System.out.println("3、删除用户");
System.out.println("4、查找单个用户");
System.out.println("5、查询全部用户");
System.out.print("6、退出系统");
InputDatainput=newInputData();
intch=input.getInt("\n请选择的选项","输入的信息不正确!
");
switch(ch){
case1:
{
UserOperate.insert();
break;
}
case2:
{
UserOperate.updata();
break;
}
case3:
{
UserOperate.delete();
break;
}
case4:
{
UserOperate.findById();
break;
}
case5:
{
UserOperate.findAll();
break;
}
case6:
{
System.out.print("系统已退出!
");
System.exit
(1);
break;
}
default:
{
System.out.print("请选择正确的选项!
");
break;
}
}
}
}
八、IO输入包。
packageoperate;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
importutil.InputData;
importvo.User;
importfactory.DAOFactory;
publicclassUserOperate{
publicstaticvoidinsert(){
Useruser=newUser();
InputDatainput=newInputData();
user.setName(input.getString("请输入姓名:
\t\t"));
user.setSex(input.getString("请输入性别:
\t\t"));
user.setBirthday(input.getDate("请输入生日:
\t\t","输入的日期格式必须是yyyy-MM-dd"));
try{
DAOFactory.getIUserDAOInstance().doCreate(user);
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();