实训项目用户登录系统jdbc.docx
《实训项目用户登录系统jdbc.docx》由会员分享,可在线阅读,更多相关《实训项目用户登录系统jdbc.docx(33页珍藏版)》请在冰点文库上搜索。
实训项目用户登录系统jdbc
项目名称:
用户管理系统
开发环境:
1.JDK6.0
2.Eclipse3.3或MyEclipse6.0
3.Oracle10g
软件功能:
1.注册功能:
用户可以注册成本软件的用户。
(注:
权限是普通用户)
如下图:
2.登录功能:
用户输入用户名和密码。
断用户是否存在
存在:
提取用户的权限
权限如果是:
管理员的话则显示如下图
权限如果是:
普通用户的话则显示如下图:
3.普通用户的修改功能
普通用户可以修改自己的name,pass,mail
不能修改权限和ID。
运行效果如下图:
4.普通用户的查询功能
普通用户可以查询自己的详细信息
运行效果如下图:
5.管理员的添加功能
管理员的添加和普通用户的注册一样。
Id自动分配。
权限是普通用户:
运行效果如图:
6.管理员的修改功能:
管理员可以修改任何人的信息。
(注:
可以把普通用户修改成管理员)根据id修改某个用户信息
运行效果如图:
7.管理员的查询功能:
管理员可以有三个查询方式:
运行效果如图:
1.全部查询:
运行效果如图:
2.根据id查询某一个用户:
运行效果如图:
3.根据用户名查询:
支持模糊查询
运行效果如图:
8.管理员的删除功能:
运行效果如图:
工作流程图:
用户注册
用户登录
判断用户是否存存在
普通用户
Yes
No
判断用户权限
管理员
普通用户
管理员
修改个人信息
查询个人信息
查询用户
添加用户
删除用户
修改用户
查询全部用户
根据ID查询
根据NAME查询
importjava.sql.Connection;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassadministrator{
finalstaticconnectionconnect=newconnection();
finalstaticConnectionconn=connect.connectDbByOci();
StringselectAdminTable="select*fromadmintable";
StringadminTable="createtableadmintable(usernamevarchar(20))";
StringselectAdmin="select*fromadmintablewhereusername='admin'";
StringinsertDefaultAdmin="insertintoadmintable(username)values('admin')";
StringselectAdminOnUsertable="select*fromusertablewhereusername='admin'";
StringinsertAdminToUsertable="insertintousertable(username,passwd,usermail)values('admin','1234','admin@1234')";
publicadministrator()
{
try
{
Statementstmt=conn.createStatement();
//stmt.executeUpdate(selectAdmin);
stmt.executeUpdate(selectAdminTable);//查看管理员的表是否存在
if(stmt!
=null)
{
stmt.close();
}
}
catch(SQLExceptione)
{
try
{
Statementstmt=conn.createStatement();
//stmt.executeUpdate(defaultAdmministator);
stmt.executeUpdate(adminTable);//创建管理员表
if(stmt!
=null)
{
stmt.close();
}
}
catch(SQLExceptiona)
{
a.printStackTrace();
}
}
try
{
Statementstmt=conn.createStatement();
if(stmt.executeUpdate(selectAdmin)==0)//查看有没有admin这个管理员账号
{
stmt.executeUpdate(insertDefaultAdmin);
}
if(stmt.executeUpdate(selectAdminOnUsertable)==0)
{
stmt.executeUpdate(insertAdminToUsertable);
}
if(stmt!
=null)
{
stmt.close();
}
}
catch(SQLExceptione)
{
e.printStackTrace();
}
}
publicadministrator(Stringusername,Stringpasswd,Stringusermail)//可提供创建管理员的方法
{
StringinsertAdmintable="insertintoadmintable(username)values('"+username+"')";
StringselectAdminuser="select*fromusertablewhereusername='"+username+"'";
StringinsertAdminUser="insertintousertable(username,passwd,usermail)values('"+username+"','"+passwd+"','"+usermail+"')";
try
{
Statementstmt=conn.createStatement();
stmt.executeUpdate(insertAdmintable);
if(stmt.executeUpdate(selectAdminuser)==0)
{
stmt.executeUpdate(insertAdminUser);
}
else
{
System.out.println("更新失败!
请换个管理员用户名");
}
if(stmt!
=null)
{
stmt.close();
}
}
catch(SQLExceptionc)
{
c.printStackTrace();
}
}
}
importjava.sql.*;
publicclassconnection{
finalstaticStringsDBDriver="oracle.jdbc.driver.OracleDriver";
finalstaticStringsConnStr="jdbc:
oracle:
oci8:
system/manager@ORCLLGG";//oci方法
//finalstaticStringsConnStr="jdbc:
oracle:
thin:
@localhost:
1521:
ORCLLGG";//thin方法连接数据库
publicconnection()
{
}
publicConnectionconnectDbByOci()
{
Connectionconn=null;
try
{
Class.forName(sDBDriver);
//conn=DriverManager.getConnection(sConnStr,"sysassysdba","oracle");
conn=DriverManager.getConnection(sConnStr);
}
catch(Exceptione)
{
System.out.println("error:
"+e.getMessage());
}
returnconn;
}
}
importjava.sql.Connection;
importjava.sql.SQLException;
importjava.sql.Statement;
//importjava.util.Scanner;
publicclassCreateUserTable{
finalstaticconnectionconnect=newconnection();
finalstaticConnectionconn=connect.connectDbByOci();
StringcreateUserinfo="createtableusertable(idnumber,usernamevarchar(20),passwdvarchar(20),usermailvarchar(20))";
//存放用户信息表
StringselectUserTable="select*fromusertable";
//定义触发器
StringidSeq="createsequenceuser_idstartwith1incrementby1nomaxvalue";
StringselectSeq="selectsequence_namefromall_sequenceswheresequence_name='USER_ID'";
StringidTrigger="createorreplacetriggerid_trgbeforeinsertonusertableforeachrowbeginifinsertingthenselectuser_id.nextvalinto:
new.idfromdual;endif;end;";
publicCreateUserTable()
{
try
{
Statementstmt=conn.createStatement();
/*if(stmt.executeUpdate(selectMailTable)!
=0)//存放用户邮箱的表selectMailTable
{
stmt.executeUpdate(query);
}*/
stmt.executeUpdate(selectUserTable);//查看是否有这个用户表
if(stmt!
=null)
{
stmt.close();
}
}
catch(SQLExceptione)
{
try
{
Statementstmt=conn.createStatement();
stmt.executeUpdate(createUserinfo);//创建用户表
if(stmt!
=null)
{
stmt.close();
}
}
catch(SQLExceptiona)
{
a.printStackTrace();
}
//System.out.println("ssss");
}
try//为用户表中的id列自动建值,默认管理员的id是1
{
Statementstmt=conn.createStatement();
if(stmt.executeUpdate(selectSeq)==0)
{
stmt.executeUpdate(idSeq);//序列
//stmt.executeUpdate(idTrigger);//触发器
}
//stmt.executeUpdate(idSeq);//序列
stmt.executeUpdate(idTrigger);//触发器
}
catch(SQLExceptione)
{
e.printStackTrace();
}
}
}
publicclassMain{
publicstaticvoidmain(String[]args)
{
newCreateUserTable();
newadministrator();
newOutline().welcome();
}
}
importjava.util.Scanner;
importjava.sql.*;
publicclassOutline{
finalstaticconnectionconnect=newconnection();
finalstaticConnectionconn=connect.connectDbByOci();
voidwelcome()
{
Scannersc=newScanner(System.in);
System.out.println("欢迎使用neusoft的用户管理系统");
System.out.println("============================");
System.out.println("用户登录--------------------1");
System.out.println("用户注册--------------------2");
System.out.println("退出程序--------------------3");
intInputNu=sc.nextInt();
switch(InputNu)
{
case1:
log();
break;
case2:
regedit();
break;
case3:
quit();
break;
default:
System.out.println("请输入正确的号码:
1|2|3");
}
}
voidlog()
{
Scannersc=newScanner(System.in);
System.out.println("用户登录界面");
System.out.println("============================");
System.out.println("请输入你的用户名");
Stringoldname=sc.next();
System.out.println("请输入你的密码");
Stringoldpasswd=sc.next();
Stringauthtication="select*fromusertablewhereusername='"+oldname+"'andpasswd='"+oldpasswd+"'";
StringadminAuthtication="select*fromadmintablewhereusername='"+oldname+"'";
intadminId=0;//判断是否是管理员
try
{
Statementstmt=conn.createStatement();
if(stmt.executeUpdate(authtication)==0)
{
System.out.println("用户名或密码错误,请重新登录");
log();
}
else
{
System.out.println("登录成功");
adminId=stmt.executeUpdate(adminAuthtication);//将受影响的语句的行数返回给adminid
if(adminId==0)
{
System.out.println(oldname+"你好!
"+"你的权限是:
管理员");
System.out.println("修改自己的信息--------------------1");
System.out.println("查询自己的信息--------------------2");
System.out.println("退出程序--------------------------3");
intnumber=sc.nextInt();
switch(number)
{
case1:
{
Stringuserinfo="select*fromusertablewhereusername='"+oldname+"'";
System.out.println("你现在的信息是:
");
try
{
ResultSetrs=stmt.executeQuery(userinfo);
while(rs.next())
{
System.out.println("用户名"+rs.getString
(2)+"密码"+rs.getString(3)+"邮箱"+rs.getString(4));
}//取查询的结果
System.out.println("请输入要修改的姓名");
Stringnewname=sc.next();
System.out.println("请输入要修改的密码");
Stringnewpasswd=sc.next();
System.out.println("请输入要修改的邮箱");
Stringnewmail=sc.next();
StringalterUserinfo="updateusertablesetusername='"+newname+"',passwd='"+newpasswd+"',usermail='"+newmail+"'whereusername='"+oldname+"'";
if(stmt.executeUpdate(alterUserinfo)!
=0)
{
System.out.println("修改成功");
}
else
{
System.out.println("修改失败");
}
if(rs!
=null)
{
rs.close();
}
if(stmt!
=null)
{
stmt.close();
}
}
catch(SQLExceptione)
{
e.printStackTrace();
}
}
break;
case2:
{
Stringuserinfo="select*fromusertablewhereusername='"+oldname+"'";
System.out.println("你现在的信息是:
");
try
{
ResultSetrs=stmt.executeQuery(userinfo);
while(rs.next())
{
System.out.println("用户名"+rs.getString
(2)+"密码"+rs.getString(3)+"邮箱"+rs.getString(4));
}
if(stmt!
=null)
{
stmt.close();
}
}
catch(SQLExceptione)
{
e.printStackTrace();
}
}
break;
case3:
quit();
break;
default:
System.out.println("请输入正确的号码:
1|2|3");
}
}
else
{
System.out.println(oldname+"你好!
"+"你的权限是:
普通用户");
System.out.println("添加用户--------------------1");
System.out.println("删除用户--------------------2");
System.out.println("修改用户--------------------3");
System.out.println("查询用户--------------------4");
System.out.println("程序退出--------------------5");
intnumber=sc.nextInt();
switch(number)
{
case1