最近参加了一个培训班,暂时还没有开课,闲着无聊,就想用自己仅有的一点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;}
}
运行示例: