最近参加了一个培训班,暂时还没有开课,闲着无聊,就想用自己仅有的一点java基础做一个小项目练练手,巩固一下基础,补充一下知识。
需求:
1.登录页面;
2.用户(父类)User;
3.普通用户(继承用户)OrUser;
4.VIP用户(继承用户)VipUser;
5.管理员(继承用户)Admin;
登录页面:识别不同用户;
普通用户:购物,注销账户,修改密码;
vip用户:购物,充值,抽奖,注销账户,修改密码;
管理员:添加商品,修改商品价格,注销账户,修改密码。
登录页面
首先,我们要有自己的数据库。如下图:
name代表用户名,password代表用户密码,id代表用户类型(1 普通用户 2 vip用户 3 管理员)。
第二步,创建自己的登录程序class Login;
import java.sql.*;
import java.util.Scanner;
public class Login {
Scanner sc=new Scanner(System.in);
int seUser;
String userName;
String password;
public void lender(){
System.out.print("请选择用户类型:1.普通用户 2.vip用户 3.管理员");
seUser=sc.nextInt();
System.out.print("用户名:");
userName=sc.next();
System.out.print("密码:");
password=sc.next();
}
//连接数据库
private static String driver="com.mysql.cj.jdbc.Driver";
private static String url="jdbc:mysql://localhost:3306/User?serverTimezone=UTC&characterEncoding=utf-8";
private static String user="root";
private static String pass="ly988189789";
public boolean login() throws SQLException, ClassNotFoundException{
String sql="select * from users where name=? and password=? and id=?";
Class.forName(driver);
Connection conn= DriverManager.getConnection(url,user,pass);
PreparedStatement ps = conn.prepareStatement(sql);
//判断输入的用户名是否存在
ps.setString(1,userName);
//判断密码是否正确
ps.setString(2,password);
//判断用户类型是否正确
ps.setInt(3,seUser);
ResultSet rs=ps.executeQuery();
int ans=0;
if(rs.next()){
ans=1;
}else {
rs.close();
ps.close();
conn.close();
}
if(ans==1){
return true;
}else return false;
}
int Judge(){
try {
if(login()) {
System.out.println("登录成功");
return 1;
}else {
return 0;
}
}catch(Exception e) {
//e.printStackTrace();
//System.out.println("!!!!!!!!!");
}
return 0;
}
}
运行示例: