[Java练习]简单的登录系统
来源:互联网 发布:excel 筛选重复的数据 编辑:程序博客网 时间:2024/05/21 13:56
main
package com.company;import java.sql.SQLException;public class Main{ public static void main(String[] args) throws SQLException { mainInterface(); } public static void mainInterface() throws SQLException { System.out.println("欢迎使用用户管理系统!"); System.out.println("========================="); System.out.println("用户登录--------------------1"); System.out.println("用户注册--------------------2"); System.out.println("退出程序--------------------3"); int input = Io.inputn(); switch (input) { case 1: login(); break; case 2: register(); break; case 3: return; default: System.out.println("输入错误,请重新输入!"); mainInterface(); } } public static void login() throws SQLException { Users u1 = new Users(); System.out.println("请输入您的用户名:"); u1.setUsername(Io.input()); System.out.println("请输入您的密码:"); u1.setPassword(Io.input()); if (Dbutil.query(u1)) { System.out.println("登录成功!"); System.out.println(u1.getUsername() + "您好:\t\t\t您的权限是:\t" + u1.getPer()); UserInterface ui =new UserInterface(); if (u1.getPermissions() == 0) ui.useri(u1); else ui.admini(); } else { System.out.println("用户名或密码不正确!请重新输入!"); login(); } } public static void register() throws SQLException { Users u1 = new Users(); System.out.println("请输入您的用户名:"); u1.setUsername(Io.input()); System.out.println("请输入您的密码:"); u1.setPassword(Io.input()); System.out.println("请输入您的E-mail:"); u1.setEmail(Io.input()); Dbutil.insert(u1); System.out.println("注册成功!"); mainInterface(); }}
UserInterface
package com.company;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;/** * Created by ttc on 16-10-31. */public class UserInterface{ public static void useri(Users u) throws SQLException { System.out.println("1.修改自己的信息"); System.out.println("2.查询自己的信息"); System.out.println("3.退出"); int i = Io.inputn(); switch (i) { case 1: System.out.println("您当前的信息是:"); Io.output(u); System.out.println("请输入要修改的姓名:"); u.setUsername(Io.input()); System.out.println("请输入要修改的密码:"); u.setPassword(Io.input()); System.out.println("请输入要修改的邮箱:"); u.setEmail(Io.input()); Dbutil.update(u); System.out.println("修改成功!"); useri(u); break; case 2: System.out.println("您当前的信息是:"); Io.output(u); useri(u); break; case 3: break; default: System.out.println("输入错误!请重新输入!"); useri(u); } } public static void admini() throws SQLException { System.out.println("1.添加用户"); System.out.println("2.删除用户"); System.out.println("3.修改用户"); System.out.println("4.查询用户"); System.out.println("5.程序退出"); int i = Io.inputn(); switch (i) { case 1: Users u1 = new Users(); System.out.println("请输入用户名:"); u1.setUsername(Io.input()); System.out.println("请输入密码:"); u1.setPassword(Io.input()); System.out.println("请输入E-mail:"); u1.setEmail(Io.input()); u1.setPermissions(1); Dbutil.insert(u1); System.out.println("添加用户成功!"); admini(); break; case 2: System.out.println("请输入要删除的用户ID:"); Dbutil.delete(Io.inputn()); admini(); break; case 3: System.out.println("请输入要修改的用户ID:"); Users u3 = new Users(); u3.setId(Io.inputn()); System.out.println("请输入要修改的用户名:"); u3.setUsername(Io.input()); System.out.println("请输入要修改的用户密码:"); u3.setPassword(Io.input()); System.out.println("请输入要修改的用户邮箱:"); u3.setEmail(Io.input()); System.out.println("权限:"); u3.setPermissions(Io.inputn()); Dbutil.update(u3); System.out.println("修改成功!"); admini(); break; case 4: adminquery(); break; case 5: break; default: System.out.println("输入错误!请重新输入!"); admini(); } } private static void adminquery() throws SQLException { System.out.println("1.查询全部用户"); System.out.println("2.根据ID查询用户"); System.out.println("3.根据姓名查询用户"); System.out.println("请输入要做的操作:"); int i = Io.inputn(); switch (i) { case 1: List<Users> l = new ArrayList<>(); Dbutil.query(l); for (Users u : l) { Io.output(u); System.out.println("=================================================================="); } admini(); break; case 2: System.out.println("请输入要查询的ID:"); Users u2 = new Users(); u2.setId(Io.inputn()); Dbutil.query(u2.getId(),u2); Io.output(u2); System.out.println("=================================================================="); admini(); break; case 3: System.out.println("请输入要查询的用户名(支持模糊查询):"); List<Users> l3 = new ArrayList<>(); Dbutil.query(Io.input(), l3); for (Users u : l3) { Io.output(u); System.out.println("=================================================================="); } admini(); break; } }}
Dbutil
package com.company;import java.sql.*;import java.util.List;/** * Created by ttc on 16-10-31. */public class Dbutil{ private static String strUrl = "jdbc:oracle:thin:@localhost:1521:orcl1"; static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } private static Connection connect() throws SQLException { Connection con = DriverManager.getConnection(strUrl, "scott", "a123"); return con; } private static void close(PreparedStatement ps, Connection con, ResultSet rs) throws SQLException { rs.close(); ps.close(); con.close(); } private static void close(PreparedStatement ps, Connection con) throws SQLException { ps.close(); con.close(); } public static void insert(Users u) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("INSERT INTO USERS VALUES (ID_seq.nextval,?,?,?,?)"); ps.setString(1, u.getUsername()); ps.setString(2, u.getPassword()); ps.setString(3, u.getEmail()); ps.setInt(4, u.getPermissions()); ps.executeUpdate(); close(ps, con); } public static boolean query(Users u) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("SELECT * FROM users WHERE username = ? and password = ?"); ps.setString(1, u.getUsername()); ps.setString(2, u.getPassword()); ResultSet rs = ps.executeQuery(); boolean flag = rs.next(); if (flag) { u.setId(rs.getInt("id")); u.setEmail(rs.getString("email")); u.setPermissions(rs.getInt("permissions")); } close(ps,con,rs); return flag; } public static void query(List<Users> l) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("SELECT * FROM users "); ResultSet rs = ps.executeQuery(); while (rs.next()) { Users u = new Users(); u.setId(rs.getInt("id")); u.setUsername(rs.getString("username")); u.setPassword(rs.getString("password")); u.setEmail(rs.getString("email")); u.setPermissions(rs.getInt("permissions")); l.add(u); } close(ps,con,rs); } public static boolean query(int id,Users u) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("SELECT * FROM users WHERE id = ? "); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); boolean flag = rs.next(); if (flag) { u.setId(rs.getInt("id")); u.setUsername(rs.getString("username")); u.setPassword(rs.getString("password")); u.setEmail(rs.getString("email")); u.setPermissions(rs.getInt("permissions")); } close(ps,con,rs); return flag; } public static void query(String un, List<Users> l) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("SELECT * FROM users where username like ?"); ps.setString(1, "%"+un+"%"); ResultSet rs = ps.executeQuery(); while (rs.next()) { Users u = new Users(); u.setId(rs.getInt("id")); u.setUsername(rs.getString("username")); u.setPassword(rs.getString("password")); u.setEmail(rs.getString("email")); u.setPermissions(rs.getInt("permissions")); l.add(u); rs.next(); } close(ps,con,rs); } public static void update(Users u) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement ("UPDATE users SET username = ?, password = ?, email = ? where id = ?"); ps.setString(1, u.getUsername()); ps.setString(2, u.getPassword()); ps.setString(3, u.getEmail()); ps.setInt(4, u.getId()); ps.executeUpdate(); close(ps,con); } public static void delete(int id) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("DELETE FROM users WHERE id = ?"); ps.setInt(1,id); ps.executeUpdate(); close(ps,con); }}
Users
package com.company;import java.sql.*;import java.util.List;/** * Created by ttc on 16-10-31. */public class Dbutil{ private static String strUrl = "jdbc:oracle:thin:@localhost:1521:orcl1"; static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } private static Connection connect() throws SQLException { Connection con = DriverManager.getConnection(strUrl, "scott", "a123"); return con; } private static void close(PreparedStatement ps, Connection con, ResultSet rs) throws SQLException { rs.close(); ps.close(); con.close(); } private static void close(PreparedStatement ps, Connection con) throws SQLException { ps.close(); con.close(); } public static void insert(Users u) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("INSERT INTO USERS VALUES (ID_seq.nextval,?,?,?,?)"); ps.setString(1, u.getUsername()); ps.setString(2, u.getPassword()); ps.setString(3, u.getEmail()); ps.setInt(4, u.getPermissions()); ps.executeUpdate(); close(ps, con); } public static boolean query(Users u) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("SELECT * FROM users WHERE username = ? and password = ?"); ps.setString(1, u.getUsername()); ps.setString(2, u.getPassword()); ResultSet rs = ps.executeQuery(); boolean flag = rs.next(); if (flag) { u.setId(rs.getInt("id")); u.setEmail(rs.getString("email")); u.setPermissions(rs.getInt("permissions")); } close(ps,con,rs); return flag; } public static void query(List<Users> l) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("SELECT * FROM users "); ResultSet rs = ps.executeQuery(); while (rs.next()) { Users u = new Users(); u.setId(rs.getInt("id")); u.setUsername(rs.getString("username")); u.setPassword(rs.getString("password")); u.setEmail(rs.getString("email")); u.setPermissions(rs.getInt("permissions")); l.add(u); } close(ps,con,rs); } public static boolean query(int id,Users u) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("SELECT * FROM users WHERE id = ? "); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); boolean flag = rs.next(); if (flag) { u.setId(rs.getInt("id")); u.setUsername(rs.getString("username")); u.setPassword(rs.getString("password")); u.setEmail(rs.getString("email")); u.setPermissions(rs.getInt("permissions")); } close(ps,con,rs); return flag; } public static void query(String un, List<Users> l) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("SELECT * FROM users where username like '%?%'"); ps.setString(1, un); ResultSet rs = ps.executeQuery(); while (rs.next()) { Users u = new Users(); u.setId(rs.getInt("id")); u.setUsername(rs.getString("username")); u.setPassword(rs.getString("password")); u.setEmail(rs.getString("email")); u.setPermissions(rs.getInt("permissions")); l.add(u); rs.next(); } close(ps,con,rs); } public static void update(Users u) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement ("UPDATE users SET username = ?, password = ?, email = ? where id = ?"); ps.setString(1, u.getUsername()); ps.setString(2, u.getPassword()); ps.setString(3, u.getEmail()); ps.setInt(4, u.getId()); ps.executeUpdate(); close(ps,con); } public static void delete(int id) throws SQLException { Connection con = connect(); PreparedStatement ps = con.prepareStatement("DELETE FROM users WHERE id = ?"); ps.setInt(1,id); ps.executeUpdate(); close(ps,con); }}
Io
package com.company;import java.sql.SQLException;import java.util.Scanner;import java.util.regex.Pattern;/** * Created by ttc on 16-11-1. */public class Io{ public static String input() { Scanner sc = new Scanner(System.in); return sc.nextLine(); } public static int inputn() throws SQLException { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); if(isNum(str)) return Integer.decode(str); else { System.out.println("请输入数字!"); Main.mainInterface(); } return -1; } public static void output(Users u) { System.out.println(u); } private static boolean isNum(String str) { String reg = "^\\d+$"; return Pattern.compile(reg).matcher(str).find(); }}
SQL语句:
CREATE TABLE USERS (ID NUMBER(10) PRIMARY KEY,username VARCHAR2(20) NOT NULL,PASSWORD VARCHAR2(20) NOT NULL,email VARCHAR2(30) NOT NULL,permissions NUMBER(1) DEFAULT 0,CONSTRAINT users_un_uk UNIQUE(username));CREATE SEQUENCE id_seq INCREMENT BY 1 START WITH 1;INSERT INTO USERS VALUES (id_seq.nextval,'ADMIN','123456','a@a.a',1);COMMIT;
0 0
- [Java练习]简单的登录系统
- java-简单的登录系统
- 简单登录,退出系统,练习
- Java小练习——简单的登录界面
- java编程练习-模拟简单的租车系统
- 黑马程序员-简单的登录练习
- java单点登录系统CAS的简单使用
- Java模拟登录WEB系统的简单示例
- java单点登录系统CAS的简单使用
- java单点登录系统CAS的简单使用
- Java 单点登录系统 CAS 的简单使用
- 简单登录系统的开发
- JAVA的JDBC的简单练习项目,一个简单的饭卡系统
- 简单的java反射练习
- Java反射的简单练习
- ASP.NET简单的系统登录
- 简单实例: 基于Struts2的登录系统
- 简单的登录注册原型系统
- JZOJ 4823 【NOIP2016提高A组集训第1场10.29】小W学物理
- SQL索引
- 进入django的admin网页,没有样式,缺少样式文件.
- dubbo管理控制台装配及集成zookeeper集群部署
- Linux 基础操作_4
- [Java练习]简单的登录系统
- c++ time_t和tm
- Python菜鸟--continue 语句
- Java单例设计模式
- 二值化连通区域相关matlab命令
- Java 计算日期相隔天数和相差的小时数
- hiho1284机会渺茫-map
- Codeforces Round #378 (Div. 2) D. Kostya the Sculptor
- WordPress在SAE环境上传文件至storage存储