Java+mysql用戶注冊(cè)登錄功能
最近剛剛開始學(xué)習(xí)mysql,所以就寫了這個(gè)很基本的用戶注冊(cè)登錄的功能來練練手。雖然這個(gè)很簡(jiǎn)單,但是我還是看到了自己學(xué)習(xí)的進(jìn)步,很開心。哈哈哈。
這里要注意數(shù)據(jù)表的建立:
直接上代碼吧,里面注釋很詳細(xì)了。
package client; import java.sql.*; import java.util.*; public class Client { /** * 用以實(shí)現(xiàn)用戶的注冊(cè)和登錄 */ private static String username;//用戶登錄注冊(cè)的姓名 private static String password;//用戶密碼 private static String url="jdbc:mysql://localhost:3306/test";//連接數(shù)據(jù)庫(kù)的url,test是我自己的一個(gè)數(shù)據(jù)庫(kù)啊寶寶們。 private static String user="root";//mysql登錄名 private static String pass="123456";//mysql登錄密碼(寫自己之前設(shè)置的) private static Connection con;// static Scanner input =new Scanner(System.in); public static void main(String[] args) throws Exception { //加載數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)并連接 Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection(url,user,pass); System.out.println("********用戶界面********"); System.out.println("請(qǐng)選擇:\n 1:用戶登錄\n 2:用戶注冊(cè)"); System.out.println("**********************"); int i=input.nextInt(); switch(i){ case 1: denglu(); break; case 2: zhuce(); break; default : System.out.println("輸入有誤!"); System.exit(0); } } //用戶注冊(cè) public static void zhuce() throws SQLException{ System.out.println("請(qǐng)輸入你的姓名:"); username=input.next(); System.out.println("請(qǐng)輸入你的登錄密碼:"); String p1=input.next(); System.out.println("請(qǐng)?jiān)俅屋斎肽愕拇_認(rèn)密碼:"); String p2=input.next(); if(p1.equals(p2)){ //兩次輸入的密碼相同才可以注冊(cè) password=p1; String sql="insert into client (username,password) values(?,?)"; PreparedStatement ptmt=con.prepareStatement(sql); ptmt.setString(1, username); ptmt.setString(2, password); ptmt.execute(); System.out.println("注冊(cè)成功!\n請(qǐng)登錄:"); denglu(); }else{ System.out.println("你輸入的密碼與確認(rèn)密碼不相符,請(qǐng)重新注冊(cè):"); zhuce(); } } //用戶登錄 public static void denglu() throws SQLException{ System.out.println("請(qǐng)輸入你的姓名:"); username=input.next(); System.out.println("請(qǐng)輸入你的密碼:"); password=input.next(); String sql="select username,password from client where username=? and password=?"; PreparedStatement ptmt=con.prepareStatement(sql); ptmt.setString(1, username); ptmt.setString(2, password); ResultSet rs=ptmt.executeQuery(); //從登錄用戶給出的賬號(hào)密碼來檢測(cè)查詢?cè)跀?shù)據(jù)庫(kù)表中是否存在相同的賬號(hào)密碼 if(rs.next()){ System.out.println("登錄成功!"); }else{ System.out.println("姓名或密碼錯(cuò)誤!\n請(qǐng)重新登錄:"); denglu(); } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java實(shí)現(xiàn)登錄與注冊(cè)頁(yè)面
- javaweb實(shí)現(xiàn)注冊(cè)登錄頁(yè)面
- JavaWeb實(shí)現(xiàn)用戶登錄注冊(cè)功能實(shí)例代碼(基于Servlet+JSP+JavaBean模式)
- JAVA簡(jiǎn)單實(shí)現(xiàn)MD5注冊(cè)登錄加密實(shí)例代碼
- Servlet+JavaBean+JSP打造Java Web注冊(cè)與登錄功能
- JavaWeb簡(jiǎn)單用戶登錄注冊(cè)實(shí)例代碼(有驗(yàn)證碼)
- Java簡(jiǎn)易登錄注冊(cè)小程序
- JavaWeb實(shí)現(xiàn)用戶登錄與注冊(cè)功能
- JavaWeb實(shí)現(xiàn)用戶登錄與注冊(cè)功能(服務(wù)器)
- java實(shí)現(xiàn)登錄注冊(cè)界面
相關(guān)文章
Springboot實(shí)現(xiàn)緩存預(yù)熱的方法
在系統(tǒng)啟動(dòng)之前通過預(yù)先將常用數(shù)據(jù)加載到緩存中,以提高緩存命中率和系統(tǒng)性能的過程,緩存預(yù)熱的目的是盡可能地避免緩存擊穿和緩存雪崩,這篇文章主要介紹了Springboot實(shí)現(xiàn)緩存預(yù)熱,需要的朋友可以參考下2024-03-03Springboot整合Gson報(bào)錯(cuò)問題解決過程
這篇文章主要介紹了Springboot整合Gson報(bào)錯(cuò)問題解決過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Socket結(jié)合線程池使用實(shí)現(xiàn)客戶端和服務(wù)端通信demo
這篇文章主要為大家介紹了Socket結(jié)合線程池的使用來實(shí)現(xiàn)客戶端和服務(wù)端通信實(shí)戰(zhàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03SpringBoot org.springframework.beans.factory.Unsatisfie
本文主要介紹了SpringBoot org.springframework.beans.factory.UnsatisfiedDependencyException依賴注入異常,文中通過示例代碼介紹的很詳細(xì),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02SpringBoot 圖形驗(yàn)證碼的生成和校驗(yàn)
隨著系統(tǒng)和業(yè)務(wù)的不停升級(jí),前后端代碼放在一起的項(xiàng)目越來越臃腫,已經(jīng)無(wú)法快速迭代和職責(zé)區(qū)分了,于是紛紛投入了前后端分離的懷抱,發(fā)現(xiàn)代碼和職責(zé)分離以后,開發(fā)效率越來越高了,但是以前的驗(yàn)證碼登錄方案就要更改了。本文來看一下SpringBoot 圖形驗(yàn)證碼的生成和校驗(yàn)2021-05-05SpringCloud+MyBatis分頁(yè)處理(前后端分離)
這篇文章主要為大家詳細(xì)介紹了SpringCloud+MyBatis分頁(yè)處理,前后端分離,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10