add: ConnectionFactory & Model (Huesped & Reserva)

improvement: PruebaConexion drop dbuser & dbpass vars
This commit is contained in:
devfzn 2023-08-20 01:25:32 -04:00
parent bdb78e6901
commit 96961bb1e5
Signed by: devfzn
GPG Key ID: E070ECF4A754FDB1
8 changed files with 224 additions and 9 deletions

View File

@ -0,0 +1,37 @@
package cl.com.alura.hotel.factory;
import java.sql.Connection;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import io.github.cdimascio.dotenv.Dotenv;
public class ConnectionFactory {
private static String dbaddr;
private static String dbname;
private final static String driver = "jdbc:mysql://";
private final static String params = "?useTimeZone=true&serverTimeZone=UTC";
private DataSource datasource;
public ConnectionFactory() {
Dotenv dotenv = Dotenv.load();
dbname = dotenv.get("DBNAME");
dbaddr = dotenv.get("DBADDR");
final String dburl = driver + dbaddr +"/"+ dbname + params;
var pooledDataSource = new ComboPooledDataSource();
pooledDataSource.setJdbcUrl(dburl);
pooledDataSource.setUser(dotenv.get("DBUSER"));
pooledDataSource.setPassword(dotenv.get("DBPASS"));
pooledDataSource.setMaxPoolSize(500);
this.datasource = pooledDataSource;
}
public Connection getConexion() {
try {
return this.datasource.getConnection();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}

View File

@ -0,0 +1,87 @@
package cl.com.alura.hotel.modelo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Huesped {
private Integer id;
private Integer nombre;
private Integer apellido;
private Date fechaNacimiento;
private String nacionalidad;
private String telefono;
private List<Reserva> reservas;
public Huesped(Integer id, Integer nombre, Integer apellido, Date fechaNacimiento,
String nacionalidad, String telefono) {
this.id = id;
this.nombre = nombre;
this.apellido = apellido;
this.fechaNacimiento = fechaNacimiento;
this.nacionalidad = nacionalidad;
this.telefono = telefono;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getNombre() {
return nombre;
}
public void setNombre(Integer nombre) {
this.nombre = nombre;
}
public Integer getApellido() {
return apellido;
}
public void setApellido(Integer apellido) {
this.apellido = apellido;
}
public Date getFechaNacimiento() {
return fechaNacimiento;
}
public void setFechaNacimiento(Date fechaNacimiento) {
this.fechaNacimiento = fechaNacimiento;
}
public String getNacionalidad() {
return nacionalidad;
}
public void setNacionalidad(String nacionalidad) {
this.nacionalidad = nacionalidad;
}
public String getTelefono() {
return telefono;
}
public void setTelefono(String telefono) {
this.telefono = telefono;
}
public List<Reserva> getReservas() {
return reservas;
}
public void addReserva(Reserva reserva) {
if (this.reservas == null) {
this.reservas = new ArrayList<>();
}
this.reservas.add(reserva);
}
// TODO toString();
}

View File

@ -0,0 +1,72 @@
package cl.com.alura.hotel.modelo;
import java.util.Date;
public class Reserva {
private Integer id;
private Date fechaEntrada;
private Date fechaSalida;
private Double valor;
private String formaPago;
private Integer idHuesped;
public Reserva(Integer id, Date fechaEntrada, Date fechaSalida, Double valor, String formaPago, Integer idHuesped) {
this.id = id;
this.fechaEntrada = fechaEntrada;
this.fechaSalida = fechaSalida;
this.valor = valor;
this.formaPago = formaPago;
this.idHuesped = idHuesped;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Date getFechaEntrada() {
return fechaEntrada;
}
public void setFechaEntrada(Date fechaEntrada) {
this.fechaEntrada = fechaEntrada;
}
public Date getFechaSalida() {
return fechaSalida;
}
public void setFechaSalida(Date fechaSalida) {
this.fechaSalida = fechaSalida;
}
public Double getValor() {
return valor;
}
public void setValor(Double valor) {
this.valor = valor;
}
public String getFormaPago() {
return formaPago;
}
public void setFormaPago(String formaPago) {
this.formaPago = formaPago;
}
public Integer getIdHuesped() {
return idHuesped;
}
public void setIdHuesped(Integer idHuesped) {
this.idHuesped = idHuesped;
}
// TODO toString();
}

View File

@ -10,8 +10,6 @@ public class PruebaConexion {
private static String dbaddr;
private static String dbname;
private static String dbuser;
private static String dbpass;
private final static String driver = "jdbc:mysql://";
private final static String params = "?useTimeZone=true&serverTimeZone=UTC";
@ -19,11 +17,13 @@ public class PruebaConexion {
Dotenv dotenv = Dotenv.load();
dbname = dotenv.get("DBNAME");
dbaddr = dotenv.get("DBADDR");
dbuser = dotenv.get("DBUSER");
dbpass = dotenv.get("DBPASS");
final String dburl = driver + dbaddr + "/" + dbname + params;
System.out.println("Iniciando conexión con DB: " + dburl);
Connection con = DriverManager.getConnection(dburl, dbuser, dbpass);
Connection con = DriverManager.getConnection(
dburl,
dotenv.get("DBUSER"),
dotenv.get("DBPASS")
);
con.close();
System.out.println("Conexión con DB cerrada!");
}

View File

@ -0,0 +1,17 @@
package cl.com.alura.hotel.pruebas;
import java.sql.Connection;
import java.sql.SQLException;
import cl.com.alura.hotel.factory.ConnectionFactory;
public class PruebaConexionFactory {
public static void main(String[] args) throws SQLException {
System.out.println("Abriendo conexión");
Connection con = new ConnectionFactory().getConexion();
System.out.println("Cerrando conexión");
con.close();
}
}

View File

@ -53,7 +53,7 @@ public class Exito extends JDialog {
contentPanel.add(lblNewLabel);
}
{
JLabel lblNewLabel_1 = new JLabel("Datos guardados satisfactoriamente");
JLabel lblNewLabel_1 = new JLabel("Datos guardados exitosamente");
lblNewLabel_1.setForeground(new Color(12, 138, 199));
lblNewLabel_1.setFont(new Font("Arial", Font.BOLD, 18));
lblNewLabel_1.setBounds(27, 122, 322, 21);
@ -67,7 +67,8 @@ public class Exito extends JDialog {
JButton okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();// sirve para cerrar la ventana actual
// cerrar ventana actual
dispose();
MenuUsuario usuario = new MenuUsuario();
usuario.setVisible(true);
}

View File

@ -194,7 +194,7 @@ public class Login extends JFrame {
@Override
public void mouseClicked(MouseEvent e) {
Login();
LoginAction();
}
});
btnLogin.setBackground(SystemColor.textHighlight);
@ -236,7 +236,7 @@ public class Login extends JFrame {
header.setLayout(null);
}
private void Login() {
private void LoginAction() {
String Usuario = "admin";
String Contraseña = "admin";

View File

@ -11,4 +11,5 @@ module hotel_alura {
requires java.sql;
requires java.desktop;
requires jcalendar;
requires c3p0;
}