Copy kode kodenya sebagai berikut:
//Informasi dasar pengguna juga berupa tiga kolom dalam tabel USERINFO
penilaian login paket;
Pengguna kelas publik {
nama String pribadi;
nama login String pribadi;
login String pribadipsw;
String publik getName() {
nama kembali;
}
public void setName(Nama string) {
ini.nama = nama;
}
String publik getLoginname() {
kembalikan nama login;
}
public void setLoginname(String nama login) {
ini.namalogin = namalogin;
}
String publik getLoginpsw() {
kembali loginpsw;
}
public void setLoginpsw(String loginpsw) {
this.loginpsw = loginpsw;
}
}
//Blok kode kecil untuk registrasi dan login
penilaian login paket;
impor java.util.Scanner;
kelas publik Di {
Pengguna statis publik getUser(){
Pengguna u = Pengguna baru();
Pemindai sc = Pemindai baru(Sistem.dalam);
System.out.println("Silakan masukkan nama login Anda");
u.setLoginname(sc.nextLine());
System.out.println("Masukkan kata sandi Anda");
u.setLoginpsw(sc.nextLine());
kembalikan kamu;
}
Daftar Pengguna statis publikPengguna(){
Pengguna u = Pengguna baru();
Pemindai sc = Pemindai baru(Sistem.dalam);
System.out.println("Silakan daftarkan nama pengguna");
u.setName(sc.nextLine());
System.out.println("Silakan daftarkan nama login Anda");
u.setLoginname(sc.nextLine());
System.out.println("Silakan daftarkan kata sandi");
u.setLoginpsw(sc.nextLine());
kembalikan kamu;
}
}
//Periksa saat login untuk memastikan apakah nama login dan kata sandi sudah benar.
penilaian login paket;
impor java.sql.Koneksi;
impor java.sql.DriverManager;
impor java.sql.PreparedStatement;
impor java.sql.ResultSet;
impor java.sql.SQLException;
kelas publik Periksa {
pemeriksaan kekosongan statis publikPengguna(Pengguna u)
{
mencoba {
Kelas.forName("Oracle.jdbc.driver.OracleDriver");
} tangkapan (ClassNotFoundException e) {
e.printStackTrace();
}
String url = "jdbc:Oracle:thin:@localhost:1521:orcl";
String pengguna = "scott";
String kata sandi = "harimau";
Sambungan koneksi = null;
HasilSet rs = null;
Pernyataan Disiapkan pst = null;
String sql = "Pilih nama dari USERINFO dimana loginname = ? dan loginpsw = ? ";
mencoba {
samb = DriverManager.getConnection(url, pengguna, kata sandi);
pst = samb.prepareStatement(sql);
pst.setString(1, u.getLoginname());
pst.setString(2,u.getLoginpsw());
rs = pst.executeQuery();
while(rs.next()){
u.setName(rs.getString(1));
}
} tangkapan (SQLException e) {
e.printStackTrace();
}Akhirnya{
mencoba {
rs.close();
pst.tutup();
samb.close();
} tangkapan (SQLException e) {
e.printStackTrace();
}
}
if(u.getName() == null || u.getName().isEmpty()){
System.out.println("Login gagal");
}kalau tidak{
System.out.println("Selamat Datang"+u.getName()+"Login");
}
}
}
//Pada antarmuka registrasi, perlu ditentukan apakah nama login diduplikasi. Jika ada duplikat, registrasi akan gagal. Saya punya sedikit pertanyaan, saya telah menandainya dengan komentar.
penilaian login paket;
impor java.sql.Koneksi;
impor java.sql.DriverManager;
impor java.sql.PreparedStatement;
impor java.sql.ResultSet;
impor java.sql.SQLException;
impor java.sql.Pernyataan;
kelas publik Daftar {
register kekosongan statis publikPengguna(Pengguna u){
mencoba {
Kelas.forName("Oracle.jdbc.driver.OracleDriver");
} tangkapan (ClassNotFoundException e) {
e.printStackTrace();
}
String url = "jdbc:Oracle:thin:@localhost:1521:orcl";
String pengguna = "scott";
String kata sandi = "harimau";
Sambungan koneksi = null;
String sql = "Masukkan ke nilai USERINFO(?,?,?)";
Pernyataan Disiapkan pst = null;
//Tentukan apakah nama login sudah ada
Pernyataan s = nol;
HasilSet rs = null;
String sql_ck = "Pilih NAMA LOGIN DARI USERINFO";
mencoba {
samb = DriverManager.getConnection(url, pengguna, kata sandi);
pst = samb.prepareStatement(sql);
pst.setString(1, u.getName());
pst.setString(2, u.getLoginname());
pst.setString(3, u.getLoginpsw());
//Tentukan apakah nama login sudah ada
s = samb.createStatement();
rs = s.executeQuery(sql_ck);
while(rs.next()){//Mengapa indeks tidak valid muncul saat menggunakan rs.getString(2)?
if( rs.getString("LOGINNAME").sama dengan(u.getLoginname()) ){
System.out.println("Nama login sudah ada, registrasi gagal");
merusak;
}kalau tidak{
pst.executeUpdate();
System.out.println("Pendaftaran berhasil");
merusak;
}
}
} tangkapan (SQLException e) {
e.printStackTrace();
}Akhirnya{
mencoba {
rs.close();
pst.tutup();
s.close();
samb.close();
} tangkapan (SQLException e) {
e.printStackTrace();
}
}
}
}
//antarmuka utama//
//Struktur tabel pada database seperti ini
//nama (nama pengguna, digunakan untuk tampilan),
//loginname (nama login, ID yang dimasukkan saat login)
//loginpsw (kata sandi dimasukkan saat login)
penilaian login paket;
impor java.util.Scanner;
Tes kelas publik {
public static void main(String[] args) {
inci = 0;
Pemindai sc = Pemindai baru(Sistem.dalam);
System.out.println("/t/tLogin silakan tekan 1/t/tRegistration silakan tekan 2");
chos = sc.nextInt();
beralih(chos){
kasus 1: Check.checkUser(In.getUser());break;
kasus 2: Register.registUser(In.registerUser());break;
default: System.out.println("Silakan masukkan pilihan yang benar");break;
}
}
}