Copie o código do código da seguinte forma:
//As informações básicas do usuário também são três colunas na tabela USERINFO
julgamento de login de pacote;
classe pública Usuário {
nome da string privada;
private String nome de login;
string privada loginpsw;
public String getNome() {
nome de retorno;
}
public void setNome(Nome da string) {
este.nome = nome;
}
public String getLoginname() {
retornar nome de login;
}
public void setLoginname(String nome de login) {
this.loginname = loginname;
}
string pública getLoginpsw() {
retornar loginpsw;
}
public void setLoginpsw(String loginpsw) {
isto.loginpsw=loginpsw;
}
}
//Pequeno bloco de código para registro e login
julgamento de login de pacote;
importar java.util.Scanner;
classe pública em {
usuário estático público getUser(){
Usuário você = novo Usuário();
Scanner sc = novo Scanner(System.in);
System.out.println("Digite seu nome de login");
u.setLoginname(sc.nextLine());
System.out.println("Digite sua senha");
u.setLoginpsw(sc.nextLine());
devolva você;
}
public static Registro de usuárioUsuário(){
Usuário você = novo Usuário();
Scanner sc = novo Scanner(System.in);
System.out.println("Por favor, registre o nome de usuário");
u.setName(sc.nextLine());
System.out.println("Por favor, registre seu nome de login");
u.setLoginname(sc.nextLine());
System.out.println("Por favor, registre uma senha");
u.setLoginpsw(sc.nextLine());
devolva você;
}
}
//Verifique ao fazer login para determinar se o nome de login e a senha estão corretos. Se corretos, retorne o nome de usuário.
julgamento de login de pacote;
importar java.sql.Connection;
importar java.sql.DriverManager;
importar java.sql.PreparedStatement;
importar java.sql.ResultSet;
importar java.sql.SQLException;
classe pública Verifique {
public static void checkUser(Usuário u)
{
tentar {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String usuário = "scott";
String senha = "tigre";
Conexão conexão = null;
Conjunto de resultados rs = null;
PreparedStatement pst = null;
String sql = "Selecione o nome de USERINFO onde loginname = ? e loginpsw = ? ";
tentar {
conn = DriverManager.getConnection(url, usuário, senha);
pst = conn.prepareStatement(sql);
pst.setString(1, u.getLoginname());
pst.setString(2,u.getLoginpsw());
rs = pst.executeQuery();
enquanto(rs.next()){
u.setName(rs.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}finalmente{
tentar {
rs.close();
pst.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(u.getName() == null || u.getName().isEmpty()){
System.out.println("Falha no login");
}outro{
System.out.println("Bem-vindo"+u.getName()+"Login");
}
}
}
//Na interface de cadastro, é necessário determinar se o nome de login está duplicado. Caso haja duplicatas, o cadastro falhará. Tenho uma pequena dúvida, marquei-a com comentários.
julgamento de login de pacote;
importar java.sql.Connection;
importar java.sql.DriverManager;
importar java.sql.PreparedStatement;
importar java.sql.ResultSet;
importar java.sql.SQLException;
importar java.sql.Statement;
classe pública Registrar {
public static void registradorUsuário(Usuário u){
tentar {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String usuário = "scott";
String senha = "tigre";
Conexão conexão = null;
String sql = "Inserir em valores USERINFO (?,?,?)";
PreparedStatement pst = null;
//Determina se o nome de login já existe
Instrução s = nula;
Conjunto de resultados rs = null;
String sql_ck = "Selecione LOGINNAME FROM USERINFO";
tentar {
conn = DriverManager.getConnection(url, usuário, senha);
pst = conn.prepareStatement(sql);
pst.setString(1, u.getName());
pst.setString(2, u.getLoginname());
pst.setString(3, u.getLoginpsw());
//Determina se o nome de login já existe
s = conn.createStatement();
rs = s.executeQuery(sql_ck);
while(rs.next()){//Por que ele exibe um índice inválido ao usar rs.getString(2)?
if(rs.getString("LOGINNAME").equals(u.getLoginname()) ){
System.out.println("O nome de login já existe, falha no registro");
quebrar;
}outro{
pst.executeUpdate();
System.out.println("Registro bem sucedido");
quebrar;
}
}
} catch (SQLException e) {
e.printStackTrace();
}finalmente{
tentar {
rs.close();
pst.close();
s.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//interface principal//
//A estrutura da tabela no banco de dados é assim
//nome (nome de usuário, usado para exibição),
//loginname (nome de login, o ID inserido ao fazer login)
//loginpsw (senha digitada ao fazer login)
julgamento de login de pacote;
importar java.util.Scanner;
teste de classe pública {
public static void main(String[] args) {
inchos = 0;
Scanner sc = novo Scanner(System.in);
System.out.println("/t/tLogin por favor pressione 1/t/tRegistration por favor pressione 2");
chos = sc.nextInt();
switch(chos){
caso 1: Check.checkUser(In.getUser());break;
caso 2: Register.registUser(In.registerUser());break;
padrão: System.out.println("Por favor, insira a escolha correta");break;
}
}
}