[Java練習]簡單的登入系統
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','[email protected]',1);
COMMIT;
相關推薦
[Java練習]簡單的登入系統
main package com.company; import java.sql.SQLException; public class Main { public static void main(String[] args) throws SQLExc
Java實現註冊登入系統——基於Java Swing實現
技術簡介:Java Swing 介紹 Swing 是一個為Java設計的GUI工具包。 Swing是JAVA基礎類的一部分。 Swing包括了圖形使用者介面(GUI)器件如:文字框,按鈕,分隔窗格和表。 Swing提供許多比AWT更好的螢幕顯示元素。它們用純Java寫成,所以同J
JAVA 最簡單獲取系統時間程式碼 LocalDateTime( 以yyyy-MM-dd HH:mm:ss.SSS格式顯示)
直接上程式碼,簡單粗暴: import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** * @Author : JCccc * @CreateTime : 2018-11-27
用java 實現簡單登入頁面
通過java實現一個簡單登入介面 1.java的影象介面有兩種:awt和swing 2.swing的分類有:容器、獨立元件、佈局。 容器: JFrame (窗體類,不能在自身新增容器) JPanel (面板類,可以在自身新增容器) 獨立元件: JLabel 標籤類 JTextField 文字輸
Java練習——圖書借閱系統
自己一直在自學Java基礎,期望向JavaWeb方向發展。自學了好長時間,每次基本上都不會怎麼記錄,昨天看了GitChat的推送,覺著應當把自己每天的學習記錄下來,這樣可以做到監督的作用。 今天這個是一個Java小練習,一個圖書借閱系統,需要實現的功
簡單的登入系統(java+JFrame+Mysql)
連線資料庫 package 註冊資訊; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class con
java開發簡單的用戶管理系統
switch .get delete into etop rac stat 工具 property 學習完java基礎後,自己練了練用MySql作為數據存儲的簡單用戶管理系統,這是一個沒有界面的管理系統,看起來比較枯燥,先給出幾張截圖吧。 首先預覽一下包結構吧
Java練習 SDUT-1959_簡單枚舉類型——植物與顏色
枚舉 int blue 練習 gre 字符 枚舉類 about 植物 簡單枚舉類型——植物與顏色 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 請定義具有red, orange, yellow
Java練習 SDUT-3349_答答租車系統(面向物件綜合練習)
答答租車系統(面向物件綜合練習) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 各位面向物件的小夥伴們,在學習了面向物件的核心概念——類的封裝、繼承、多型之後,答答租車系統開始營運了。 請你充分利用面向物件思想,為公司解
Java練習 SDUT-3349_答答租車系統(面向對象綜合練習)
個人 body [1] clas int 保留 esc 根據 style 答答租車系統(面向對象綜合練習) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 各位面向對象的小夥伴們,在學習了面向對
java 購物車簡單練習
商品,購物車,測試類三個類,商品有價格,id,名稱,三個屬性,購物車有總價和車兩個屬性,有新增,刪除,清空,列印四個方法 商品類: //定義商品,三個屬性,名稱,價格(BigDecimal型別),id編號,重寫toString,hashCode,equals方法,構造方法 import j
基於java swing介面的簡單資料庫系統的設計
本系統是簡單型資料庫系統,其原理是操作mysql資料庫的,系統的介面採用swing介面來實現,其有以下資料規範: 1、資料庫的建立唯一,即一個數據庫的名稱唯一,如果已經建立了該名稱的資料庫就不能再建立同名的資料庫。 2、資料表唯一,即同一個資料庫中只能建立一
JAVA實現簡單的Session登入,登出功能
session常常用來儲存使用者的登入資訊。那麼伺服器是怎麼來實現的呢?這裡我簡單模擬一下。 第一步,編寫登入主頁: <!DOCTYPE html> <html> <head> <title>登陸頁面</ti
JAVA實現簡單的登入介面
我本來是學C++的,然後課程上老師要求做一個登陸介面,用C++實現不限時,然後就選擇了JAVA,從零開始自學JAVA。好在網上很多大佬都寫了如何用JAVA編寫登陸介面的部落格,寫得很詳細,使得我第一次接觸JAVA也能看懂一二。 比較推薦這篇,博主真的很細心,我主要也是參考的
Java學習筆記之系統登入例項
Java學習已經有一陣了,咱們也應該真刀真槍幹一波試試。我們考慮做一個系統登入認證,就是輸入使用者名稱和密碼,程式返回是否驗證通過的結果。 咱們來分析一下這個程式,首先我們通過介面輸入帳號密碼,程式接收到這兩個引數,然後判斷是否驗證通過,通過則返回 “XXX,您好!”,不通過則返回“對不
Java WEB 簡單 de 登入註冊
登入註冊功能實現圖文教程 一、前言 近期寫了一個簡單地登入註冊,是基於 java web 的;涉及知識較簡單,主要是資料庫的連線,jsp 與 servlet 的使用等;實現效果在第二部分展示。 所用開發工具為Myeclipse(Eclipse),資料庫此
java 實現簡單的銀行登入註冊退出功能(未儲存資料)
RegisterAndLogin.java:package bao1;import java.util.Scanner;import java.util.regex.Pattern;import bao1.Login;public class RegisterAndLogi
CCF計算機軟體能力認證試題練習-門禁系統(Java參考答案學習記錄)
問題描述 濤濤最近要負責圖書館的管理工作,需要記錄下每天讀者的到訪情況。每位讀者有一個編號,每條記錄用讀者的編號來表示。給出讀者的來訪記錄,請問每一條記錄中的讀者是第幾次出現。 輸入格式
Python之實現簡單的註冊登入系統
表單在網頁中主要負責資料採集功能。一個表單有三個基本組成部分: 表單標籤:這裡麵包含了處理表單資料所用CGI程式的URL以及資料提交到伺服器的方法。 表單域:包含了文字框、密碼框、隱藏域、多行文字框、複選框、單選框、下拉選擇框和檔案上傳框等。 表單按鈕:包括
Java程式---學生管理系統的登入和註冊
/** * * 使用者資訊類,描述了使用者的資訊 * */ public class User { /** * 成員變數 * * */ private String username ; private String password;