一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - JAVA簡單鏈接Oracle數據庫 注冊和登陸功能的實現代碼

JAVA簡單鏈接Oracle數據庫 注冊和登陸功能的實現代碼

2019-10-29 16:10java教程網 JAVA教程

這篇文章主要介紹了JAVA鏈接Oracle并實現注冊與登錄功能的代碼實例,有需要的朋友可以參考一下

代碼如下:


//User 用戶的基本信息,也是USERINFO表中的3個列
package 登陸判斷;

 

public class User {

  private String name;
  private String loginname;
  private String loginpsw;
  public String getName() {
   return name;
  }
  public void setName(String name) {
   this.name = name;
  }
  public String getLoginname() {
   return loginname;
  }
  public void setLoginname(String loginname) {
   this.loginname = loginname;
  }
  public String getLoginpsw() {
   return loginpsw;
  }
  public void setLoginpsw(String loginpsw) {
   this.loginpsw = loginpsw;
  }
}
//用于注冊和登陸的小小代碼塊
package 登陸判斷;

import java.util.Scanner;

public class In {

  public static User getUser(){
   User u = new User();
   Scanner sc = new Scanner(System.in);
   System.out.println("請輸入登陸名");
   u.setLoginname(sc.nextLine());
   System.out.println("請輸入密碼");
   u.setLoginpsw(sc.nextLine());
   return  u;
  }
  public static User registerUser(){
   User u = new User();
   Scanner sc = new Scanner(System.in);
   System.out.println("請注冊用戶名名");
   u.setName(sc.nextLine());
   System.out.println("請注冊登陸名");
   u.setLoginname(sc.nextLine());
   System.out.println("請注冊密碼");
   u.setLoginpsw(sc.nextLine());
   return  u;
  }
}

//登陸時的檢查,判斷登陸名和密碼是否正確,正確則返回 用戶名
package 登陸判斷;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Check {

  public static void checkUser(User u)
  {
   try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   }
   String url = "jdbc:oracle:thin:@localhost:1521:orcl";
   String user = "scott";
   String password = "tiger";
   Connection conn = null;
   ResultSet rs = null;
   PreparedStatement pst = null;

   String sql = "Select name from USERINFO where loginname = ? and loginpsw = ? ";
   try {
    conn = DriverManager.getConnection(url, user, password);
    pst = conn.prepareStatement(sql);
    pst.setString(1, u.getLoginname());
    pst.setString(2,u.getLoginpsw());
    rs = pst.executeQuery(); 
    while(rs.next()){
     u.setName(rs.getString(1));
    }    
   } catch (SQLException e) {
    e.printStackTrace();
   }finally{
    try {
     rs.close();
     pst.close();
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
   if(u.getName() == null || u.getName().isEmpty()){
    System.out.println("登陸失敗");
   }else{
    System.out.println("歡迎"+u.getName()+"登陸");
   }

  }
}

//注冊界面,要判斷 登陸名是否有重復,有重復則注冊失敗。有點小疑問,已用注釋標出來
package 登陸判斷;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Register {

  public static void registUser(User u){

   try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   }
   String url = "jdbc:oracle:thin:@localhost:1521:orcl";
   String user = "scott";
   String password = "tiger";
   Connection conn = null;
   String sql = "Insert Into USERINFO values(?,?,?)";
   PreparedStatement pst = null;

   //判斷登陸名是否已經存在
   Statement s = null;
   ResultSet rs = null;
   String sql_ck = "Select LOGINNAME FROM USERINFO";
   try {
    conn = DriverManager.getConnection(url, user, password);
    pst = conn.prepareStatement(sql);
    pst.setString(1, u.getName());
    pst.setString(2, u.getLoginname());
    pst.setString(3, u.getLoginpsw());
    //判斷登陸名是否已經存在
    s = conn.createStatement();
    rs = s.executeQuery(sql_ck);
    while(rs.next()){//為什么用 rs.getString(2)會提示 無效的索引呢
     if( rs.getString("LOGINNAME").equals(u.getLoginname()) ){
      System.out.println("登陸名已經存在,注冊失敗");
      break;
     }else{
      pst.executeUpdate();
      System.out.println("注冊成功");
      break;
     }
    } 
   } catch (SQLException e) {
    e.printStackTrace();
   }finally{
    try {
     rs.close();
     pst.close();
     s.close();
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }

   
  }
}
//main界面//
//數據庫中表的結構式這樣
//name(用戶名,用于顯示),
//loginname(登錄名,即登陸時輸入的ID)
//loginpsw(登陸時輸入的密碼)
package 登陸判斷;

import java.util.Scanner;

public class Test {

 public static void main(String[] args) {

  int chos = 0;
  Scanner sc = new Scanner(System.in);
  System.out.println("\t\t登陸請按1\t\t注冊請按2");
  chos = sc.nextInt();
  switch(chos){
  case 1: Check.checkUser(In.getUser());break;
  case 2: Register.registUser(In.registerUser());break;
  default: System.out.println("請輸入正確的選擇");break;
  }
 }

}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩va| 性猛交娇小69hd | 色图片小说 | 日韩视频免费一区二区三区 | 亚洲 欧美 国产 在线观看 | 久久国产免费 | 久久综合给会久久狠狠狠 | b站免费网站入口 | 隔壁老王国产在线精品 | 国产精品日韩欧美在线 | 99视频导航| 国产精品福利在线观看秒播 | 欧美ay| 我被黄总征服的全过程 | 我的奶头被客人吸的又肿又红 | 久久aa毛片免费播放嗯啊 | 日本视频高清免费观看xxx | 不良网站在线观看 | 日韩精品免费一级视频 | www毛片| 久久精品一区二区三区资源网 | 亚洲 欧美 中文字幕 在线 | 亚洲精品私拍国产福利在线 | 亚洲国产韩国欧美在线不卡 | 亚洲妇熟xxxxx妇色黄 | b站免费网站入口 | 国产精品久久毛片蜜月 | 99国产高清久久久久久网站 | 国产亚洲欧美日韩综合综合二区 | xxxx性欧美极品另类 | 麻豆天美精东果冻传媒在线 | 火影忍者小南裸羞羞漫画 | 久久免费特黄毛片 | 国产视频a区| 欧美日韩国产成人精品 | 99久久国产综合精品网成人影院 | 精品日韩一区二区三区 | 欧美黄站| 校园刺激全黄H全肉细节文 校草让我脱了内裤给全班看 | 特级av毛片免费观看 | 236宅宅2021最新理论 |