0% encontró este documento útil (0 votos)
14 vistas6 páginas

Java - SQL

El documento presenta una clase Java que gestiona la conexión a una base de datos MySQL y realiza operaciones CRUD sobre una tabla de usuarios. Incluye métodos para buscar, agregar, borrar y actualizar registros de usuarios, así como la conversión de resultados a formato JSON. Se manejan excepciones y se asegura la desconexión de la base de datos tras las operaciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas6 páginas

Java - SQL

El documento presenta una clase Java que gestiona la conexión a una base de datos MySQL y realiza operaciones CRUD sobre una tabla de usuarios. Incluye métodos para buscar, agregar, borrar y actualizar registros de usuarios, así como la conversión de resultados a formato JSON. Se manejan excepciones y se asegura la desconexión de la base de datos tras las operaciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

JAVA - SQL

package [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];
import [Link];
import [Link];

import [Link];

import [Link]; //JSON ejemplo del profe


import [Link];

public class sql {


/* ----------------------------------------------------------------------------------------------------------------------
* Desde aca metodos de conexion
*/

// Establece la conexion con la DB


public static Connection conectar() {

Connection con = null;


String base = "cacusuarios"; // Nombre de la base de datos
String url = "jdbc:mysql://[Link]/" + base; // Direccion, puerto y nombre de la Base de Datos
String user = "CaCTP"; // Usuario de Acceso a MySQL
String password = "Magara18"; // Password del usuario

try {
[Link]("[Link]");
con = [Link](url, user, password);
[Link]("Conexion Exitosa");
} catch (ClassNotFoundException | SQLException e) {
[Link](e);
}
return con;
}

public static void desconectar(Connection conexion) {


try{
[Link]();
[Link]("Desconexion Exitosa");
}catch(Exception e) {
[Link](e);
}
}

1
/* ----------------------------------------------------------------------------------------------------------------------
* Desde aca el CRUD
*/

//-------------------------------------Leer/Buscar Registro unico------------------------------------------------------


public static usuario buscarPorId(Integer id) {
Connection con;
ResultSet rs = null;
usuario usr = new usuario();

try {
con = conectar();
PreparedStatement ps = [Link]("(SELECT [Link], [Link], [Link], [Link], "
+
"[Link], [Link], [Link], [Link], [Link] " +
"FROM usuarios " +
"LEFT JOIN administradores ON [Link]=[Link] " +
"WHERE ([Link] = ?) " +
"ORDER BY [Link]) ;");
[Link](1, id); // introducir aca el nro de Id a buscar en la DB - el 1 significa que es el primer '?' de la linea anterior

//ResultSet rs = [Link]();
rs = [Link]();

if ([Link]()) {

//Se carga el objeto usuario con los datos recuperados de la DB

[Link]=[Link]("id");
[Link] = [Link]("nombre");
[Link] = [Link]("apellido");
[Link] = [Link]("email");
[Link] = [Link]("contrasena");
[Link] = [Link]("fecnac");
[Link] = [Link]("pais");
[Link] = [Link]("activo");
[Link] = [Link]("esadmin");

desconectar(con);
} else {
[Link](null, "No existe una persona con esa clave");
// Mensaje de ALERTA por error la linea anterior
}
} catch (SQLException e) {
//Mensaje por error en la conexion
[Link](e);
}
return usr;
}

2
//-------------------------------------Leer/Buscar multiples Registros ------------------------------------------------------
// para llenar el ArrayList con objetos de clase usuario, creo los atributos en [Link] sus getters y setters
public static String buscarPorPatron(String patron) {
Connection con;
ResultSet rs = null;
ObjectMapper mapper = new ObjectMapper();
ArrayList<usuario> lista = new ArrayList<>();
usuario usr;

try {
con = conectar();
PreparedStatement ps = [Link]("(SELECT [Link], [Link], [Link], [Link],"
+ " [Link], [Link], [Link], [Link], [Link] " +
"FROM usuarios " +
"LEFT JOIN administradores ON [Link]=[Link] " +
"WHERE (nombre LIKE ?) OR (apellido LIKE ?) OR (email LIKE ?) " +
"ORDER BY [Link]);");
[Link](1, "%"+patron+"%");
[Link](2, "%"+patron+"%");
[Link](3, "%"+patron+"%");
rs = [Link]();

// Leo uno a uno los registros traidos del la DB y los cargo en la lista
while ([Link]()) {
usr = new usuario();
[Link]([Link]("id"));
[Link]([Link]("nombre"));
[Link]([Link]("apellido"));
[Link]([Link]("email"));
[Link]([Link]("contrasena"));
[Link]([Link]("fecnac"));
[Link]([Link]("pais"));
[Link]([Link]("activo"));
[Link]([Link]("esadmin"));

[Link](usr);
}
desconectar(con); //Desconecto de la DB

} catch (SQLException e) {
[Link](e);
}

//Crea el json
String usrJSON;
try {
usrJSON = [Link](lista);
//[Link](usrJSON);
return usrJSON;
} catch (Exception ex) {

3
[Link]([Link]()).log([Link], null, ex);
}
return "Ocurrio un error al crear json";
}

//-------------------------------------Agregar Registro------------------------------------------------------
public static void agregarRegistro(
String nombre,
String apellido,
String email,
String contrasena,
String fecnac,
String pais,
Boolean activo,
Boolean admin
){
Connection con;

try {
con = conectar();
PreparedStatement ps = [Link]("INSERT INTO usuarios (Nombre, Apellido, Email, Contrasena, FecNac, Pais,
activo) VALUES(?,?,?,?,?,?,?) ",
Statement.RETURN_GENERATED_KEYS);

[Link](1, nombre);
[Link](2, apellido);
[Link](3, email);
[Link](4, contrasena);
[Link](5, fecnac);
[Link](6, pais);
[Link](7, activo);

int res = [Link]();

if (res > 0) {
// Se obtiene el ID del usuario registrado
ResultSet generatedKeys = [Link]();
int usrid=-1;
if ([Link]()) {
usrid = [Link](1);
}

if (admin) {
PreparedStatement ps3 = [Link]("INSERT INTO administradores (usrid, esadmin) VALUES (?,?)");
[Link](1, usrid);
[Link](2, admin); // admin es el valor booleano

[Link]();
}
}

4
desconectar(con);

} catch (SQLException e) {
[Link](e);
}
}

//-------------------------------------Borra Registro------------------------------------------------------
public static void borrarRegistro(Integer id) {

Connection con;
ResultSet rs1 = null;

try {
con = conectar();

//verifico primero si es admin para borrarlo de la tabla Administradores


PreparedStatement ps1 = [Link]("SELECT * FROM administradores WHERE usrid = ?");
[Link](1, id);
rs1 = [Link]();

if ([Link]()) { // Si hay un resultado entro por aca a borrar

[Link]("3 - SQL Borra");


PreparedStatement ps2 = [Link]("delete from administradores where usrid = ?");
[Link](1, id);
[Link]();
};

//ahora borro el usuario


PreparedStatement ps = [Link]("DELETE FROM usuarios WHERE id=?");
[Link](1, id); //El segundo integral es el ID que se borrara

int res = [Link]();

desconectar(con);

} catch (NumberFormatException | SQLException e) {


[Link](e);
}
}

//----------------------------------------Actualiza Registro---------------------------------------------
public static void actualizaRegistro(
String nombre,
String apellido,
String email,
String contrasena,
String fecnac,
String pais,

5
Boolean activo,
Boolean admin,
Integer id
){

Connection con;
[Link]("Actualizo registro - " + admin);
try {
con = conectar();
PreparedStatement ps = [Link]("UPDATE usuarios SET nombre=?, apellido=?, email=?, contrasena=?,
fecnac=?, pais=?, activo=? WHERE id=?");

[Link](1, nombre);
[Link](2, apellido);
[Link](3, email);
[Link](4, contrasena);
[Link](5, fecnac);
[Link](6, pais);
[Link](7, activo);
[Link](8, id);

int res = [Link]();

compruebaAdmin(id, admin, con);

desconectar(con);

} catch (SQLException e) {
[Link](e);
}
}

También podría gustarte