实训项目用户登录系统jdbcWord下载.docx
《实训项目用户登录系统jdbcWord下载.docx》由会员分享,可在线阅读,更多相关《实训项目用户登录系统jdbcWord下载.docx(33页珍藏版)》请在冰点文库上搜索。
![实训项目用户登录系统jdbcWord下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/3/2a9a9c06-339c-4e2d-93ed-2e70e5eafb56/2a9a9c06-339c-4e2d-93ed-2e70e5eafb561.gif)
运行效果如图:
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('
)"
StringselectAdminOnUsertable="
select*fromusertablewhereusername='
StringinsertAdminToUsertable="
insertintousertable(username,passwd,usermail)values('
'
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!
{
stmt.close();
}
catch(SQLExceptiona)
a.printStackTrace();
if(stmt.executeUpdate(selectAdmin)==0)//查看有没有admin这个管理员账号
stmt.executeUpdate(insertDefaultAdmin);
if(stmt.executeUpdate(selectAdminOnUsertable)==0)
stmt.executeUpdate(insertAdminToUsertable);
e.printStackTrace();
}
publicadministrator(Stringusername,Stringpasswd,Stringusermail)//可提供创建管理员的方法
StringinsertAdmintable="
+username+"
'
StringselectAdminuser="
StringinsertAdminUser="
+passwd+"
+usermail+"
try
stmt.executeUpdate(insertAdmintable);
if(stmt.executeUpdate(selectAdminuser)==0)
stmt.executeUpdate(insertAdminUser);
else
System.out.println("
更新失败!
请换个管理员用户名"
);
catch(SQLExceptionc)
c.printStackTrace();
}
importjava.sql.*;
publicclassconnection{
finalstaticStringsDBDriver="
oracle.jdbc.driver.OracleDriver"
finalstaticStringsConnStr="
jdbc:
oracle:
oci8:
system/manager@ORCLLGG"
//oci方法
//finalstaticStringsConnStr="
thin:
@localhost:
1521:
ORCLLGG"
//thin方法连接数据库
publicconnection()
publicConnectionconnectDbByOci()
Connectionconn=null;
Class.forName(sDBDriver);
//conn=DriverManager.getConnection(sConnStr,"
sysassysdba"
"
oracle"
conn=DriverManager.getConnection(sConnStr);
catch(Exceptione)
System.out.println("
error:
+e.getMessage());
returnconn;
//importjava.util.Scanner;
publicclassCreateUserTable{
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()
/*if(stmt.executeUpdate(selectMailTable)!
=0)//存放用户邮箱的表selectMailTable
stmt.executeUpdate(query);
}*/
stmt.executeUpdate(selectUserTable);
//查看是否有这个用户表
stmt.executeUpdate(createUserinfo);
//创建用户表
//System.out.println("
ssss"
try//为用户表中的id列自动建值,默认管理员的id是1
if(stmt.executeUpdate(selectSeq)==0)
stmt.executeUpdate(idSeq);
//序列
//stmt.executeUpdate(idTrigger);
//触发器
//stmt.executeUpdate(idSeq);
stmt.executeUpdate(idTrigger);
publicclassMain{
publicstaticvoidmain(String[]args)
newCreateUserTable();
newadministrator();
newOutline().welcome();
importjava.util.Scanner;
publicclassOutline{
voidwelcome()
Scannersc=newScanner(System.in);
System.out.println("
欢迎使用neusoft的用户管理系统"
============================"
用户登录--------------------1"
用户注册--------------------2"
退出程序--------------------3"
intInputNu=sc.nextInt();
switch(InputNu)
case1:
log();
break;
case2:
regedit();
case3:
quit();
default:
System.out.println("
请输入正确的号码:
1|2|3"
voidlog()
用户登录界面"
请输入你的用户名"
Stringoldname=sc.next();
请输入你的密码"
Stringoldpasswd=sc.next();
Stringauthtication="
+oldname+"
andpasswd='
+oldpasswd+"
StringadminAuthtication="
intadminId=0;
//判断是否是管理员
if(stmt.executeUpdate(authtication)==0)
用户名或密码错误,请重新登录"
else
登录成功"
adminId=stmt.executeUpdate(adminAuthtication);
//将受影响的语句的行数返回给adminid
if(adminId==0)
System.out.println(oldname+"
你好!
"
+"
你的权限是:
管理员"
System.out.println("
修改自己的信息--------------------1"
查询自己的信息--------------------2"
退出程序--------------------------3"
intnumber=sc.nextInt();
switch(number)
{
case1:
{
Stringuserinfo="
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();
请输入要修改的密码"
Stringnewpasswd=sc.next();
请输入要修改的邮箱"
Stringnewmail=sc.next();
StringalterUserinfo="
updateusertablesetusername='
+newname+"
passwd='
+newpasswd+"
usermail='
+newmail+"
whereusername='
if(stmt.executeUpdate(alterUserinfo)!
=0)
修改成功"
}
else
修改失败"
if(rs!
rs.close();
if(stmt!
stmt.close();
}
catch(SQLExceptione)
e.printStackTrace();
}
break;
case2:
case3:
quit();
break;
default:
}
else
普通用户"
添加用户--------------------1"
删除用户--------------------2"
修改用户--------------------3"
查询用户--------------------4"
程序退出--------------------5"
switch(number)
case1