LOGIN EN JAVA SWING DAO MYSQL CON TIPOS DE USUARIO



Estructura del proyecto
• Crear un proyecto java swing con el nombre de Login.
• Luego crear 4 paquetes (conexión,dao, modelo y vista).
• No olvidar agregar el driver de conexión.



Base de Datos
create database login;
use login;
create table usuario( 
idUsuario int primary key auto_increment,    
carnet varchar(15)not null,    
nombre varchar(100) not null,    
password varchar(100) not null,    
tipoUsuario varchar(50) not null
);

insert into usuario(idUsuario,carnet,nombre,password,tipoUsuario) values(1,'111111','admin','admin','Administrador');
insert into usuario(idUsuario,carnet,nombre,password,tipoUsuario) values(2,'017316','Victor Alvarado','123','Invitado');
insert into usuario(idUsuario,carnet,nombre,password,tipoUsuario) values(3,'123416','Juan Perez','321','Invitado');
select * from usuario;

Clase Conexion
package com.conexion;

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

/**
 *
 * @author VA
 */
 public class Conexion
 {
 public Connection con;

public Conexion() {
 }

public Conexion(Connection con) {
 this.con = con;
 }

public Connection getCon() {
 return con;
 }

public void setCon(Connection con) {
 this.con = con;
 }

public void conectar() throws Exception{
 try {
 Class.forName("com.mysql.jdbc.Driver");
 con= DriverManager.getConnection("jdbc:mysql://localhost:3306/login?user=root&password=");
 } catch (SQLException e) {
 throw e;
 }
 }

public void desconectar() throws Exception{
 try {
 if(con!=null){
 if(con.isClosed()==false){
 con.close();
 }
 }
 } catch (SQLException e) {
 throw e;
 }
 }
 }

Clase Usuario
package com.modelo;

/**
 *
 * @author VA
 */
 public class Usuario
 {
 private int idUsuario;
 private String carnet;
 private String nombre;
 private String password;
 private String tipoUsuario;

public Usuario() {
 }

public int getIdUsuario() {
 return idUsuario;
 }

public void setIdUsuario(int idUsuario) {
 this.idUsuario = idUsuario;
 }

public String getCarnet() {
 return carnet;
 }

public void setCarnet(String carnet) {
 this.carnet = carnet;
 }

public String getNombre() {
 return nombre;
 }

public void setNombre(String nombre) {
 this.nombre = nombre;
 }

public String getPassword() {
 return password;
 }

public void setPassword(String password) {
 this.password = password;
 }

public String getTipoUsuario() {
 return tipoUsuario;
 }

public void setTipoUsuario(String tipoUsuario) {
 this.tipoUsuario = tipoUsuario;
 }
 }

Clase FrmLogin
package com.vista;

import com.dao.DaoUsuario;
 import com.modelo.Usuario;
 import java.util.logging.Level;
 import java.util.logging.Logger;

/**
 *
 * @author VA
 */
 public class FrmLogin extends javax.swing.JFrame {

/**
 * Creates new form FrmLogin
 */
 public FrmLogin() {
 initComponents();
 }
 Usuario us=new Usuario();
 DaoUsuario daou=new DaoUsuario();
 public void ingresar()
 {
 us.setCarnet(this.txtCarnet.getText());
 us.setPassword(this.txtPassword.getText());
 try {
 daou.acceder(us);
 this.setVisible(false);
 } catch (Exception ex) {
 Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
 }
 }
private void btnIngresarMouseClicked(java.awt.event.MouseEvent evt) {                                         
        ingresar();
    }

}

Clase FrmInvitado
package com.vista;

import javax.swing.JLabel;

/**
 *
 * @author VA
 */
 public class FrmInvitado extends javax.swing.JFrame {

/**
 * Creates new form FrmUsuario
 */
 public FrmInvitado() {
 initComponents();
 }

public JLabel getLabel()
 {
 return lblNombre;
 }
 }

Clase FrmAdministrador
package com.vista;

import javax.swing.JLabel;

/**
 *
 * @author VA
 */
 public class FrmAdministrador extends javax.swing.JFrame {

/**
 * Creates new form FrmAdministrador
 */
 public FrmAdministrador() {
 initComponents();
 }

public JLabel getLabel()
 {
 return lblNombre;
 }
 }

Clase DaoUsuario
package com.dao;

import com.conexion.Conexion;
 import com.modelo.Usuario;
 import com.vista.*;
 import java.sql.*;
 import java.util.logging.*;
 import javax.swing.JOptionPane;

/**
 *
 * @author VA
 */
 public class DaoUsuario extends Conexion
 {

public void acceder(Usuario us) throws Exception
 {

ResultSet rs;
 try {

this.conectar();
 String cap="";
 String nom="";
 String sql="select * from usuario where carnet=? && password=?";
 PreparedStatement pre=this.getCon().prepareCall(sql);
 pre.setString(1, us.getCarnet());
 pre.setString(2, us.getPassword());
 rs=pre.executeQuery();
 while(rs.next())
 {
 cap=rs.getString("tipousuario");
 nom=rs.getString("nombre");
 }
 if(cap.equals("Administrador"))
 {

JOptionPane.showMessageDialog(null, "Bienvenido Administrador");
 FrmAdministrador ingreso = new FrmAdministrador();
 ingreso.setVisible(true);
 ingreso.pack();
 ingreso.getLabel().setText("Bienvenido "+nom);
 }
 if(cap.equals("Invitado"))
 {

JOptionPane.showMessageDialog(null, "Bienvenido Invitado");
 FrmInvitado ingresos= new FrmInvitado();
 ingresos.setVisible(true);
 ingresos.pack();
 ingresos.getLabel().setText("Bienvenido "+nom);
 }
 if((!cap.equals("Administrador"))&& (!cap.equals("Invitado")))
 {
 FrmLogin logi=new FrmLogin();
 logi.setVisible(true);
 JOptionPane.showMessageDialog(null, "No existen sus datos");
 }
 }catch (SQLException ex)
 {
 Logger.getLogger(FrmLogin.class.getName()).log(Level.SEVERE, null, ex);
 }
 finally
 {
 this.desconectar();
 }
 }

}

Descargar Archivo
Descargar

0 comentarios: