miércoles, 27 de octubre de 2021

Bases de datos con Payara Server

Se necesita lo siguiente:

  • Tener instalado el JDK versión 8 o superior.
  • Bases de datos:
    • Tener instalado MySql versión 5.7.24 o superior, en caso de MariaBD la versión 10.3.12 o superior
  • Tener instalado el servidor Payara Server versión 5 o superior.
  • Un IDE (Eclipse o NetBeans preferiblemente) para iniciar el servidor. (clic aquí para ver como)

Usar MySQL o MariaBD con Payara Server (JDBC Connection Pool)

PRIMER PASO:

Iniciar el servidor desde el IDE así como el servicio de la base de datos

Debe aparece el servicio iniciado:


Luego se debe acceder desde el navegador al administrador que es generalmente la ruta http://localhost:4848/


SEGUNDO PASO:

Dependiendo del SO se ingresa al CLI de Linux o PowerShell de Windows, ahí se debe navegar hasta la ubicación de la instalación del servidor, específicamente a la carpeta "bin", los pasos y comandos son:

  • Cambiar la ubicación a "bin": CD 'E:\Program Files (x86)\payara5\bin\'
  • Llamar al comando de administrador: ./asadmin
  • Agregar el driver de conección, se debe indicar la ruta donde tienen el JAR: add-library "D:\Mis Documentos\JAR\MySQL\mysql-connector-java-5.1.23-bin.jar"
  • Salir: exit
Windows PowerShell
Copyright (C) Microsoft Corporation. Todos los derechos reservados.

PS C:\Users\USER> CD 'E:\Program Files (x86)\payara5\bin\'
PS E:\Program Files (x86)\payara5\bin> ./asadmin
Use "exit" to exit and "help" for online help.
asadmin> add-library "D:\Mis Documentos\JAR\MySQL\mysql-connector-java-5.1.23-bin.jar"
Command add-library executed successfully.
asadmin> exit
Command multimode executed successfully.
PS E:\Program Files (x86)\payara5\bin>

TERCER PASO:

Reiniciar el servidor desde el IDE y volver a acceder al panel de administración WEB: http://localhost:4848/
Ubicarse en el menu lateral en "Resources" y acceder a "JDBC" y "JDBC Connection Pools", crear uno nuevo con el botón "new" y en la nueva ventana llenar los campos como se aprecia en la siguiente imagen.

  • A: Es el nombre de la conexión
  • B: Es el tipo de recurso
  • C: Es el nombre del proveedor

Presionar "next". Luego se debe completar algunos campos, aparecerán por defecto una gran cantidad de ellos, los puede borrar y colocar los siguientes

En estos campos se debe completar el nombre de la base de datos, para este caso es "blog", el usuario y contraseña (no se recomienda "root", pero para pruebas es válido), la ubicación que es "localhost" en este caso y el número de puerto.
Luego presionar finish, entrar a la conexión creada haciendo clic sobre su nombre en la lista y comprobar la conexión haciendo clic en "ping", el resultado debería ser: "Ping Succeeded"

Finalmente crear el recurso JDBC haciendo clic en "JDBC Resources" y luego en "new", completar los campos

Dar clic en "OK" y observar que se han agregado los dos componentes necesarios para las conexiones con bases de datos desde Payara Server

  • A: Es el nombre del recurso que será llamado luego por las aplicaciones
  • B: Es el JDBC pool al que hace referencia

Ahora el servidor se ha conectado exitosamente a una base de datos y puede cerrar el panel de administración

jueves, 9 de septiembre de 2021

Clase utilitaria DeString

package util;

import java.util.ArrayList;
import java.util.List;

public class DeString {

    public static Integer aInteger(String s) {
        Integer result = null;

        if (s != null) {
            try {
                result = Integer.valueOf(s);
            } catch (NumberFormatException e) {
            }
        }

        return result;
    }

    public static Double aDouble(String s) {
        Double result = null;

        if (s != null) {
            try {
                result = Double.valueOf(s);
            } catch (NumberFormatException e) {
            }
        }

        return result;
    }

    public static List<Integer> ids(String _ids) {
        List<Integer> list = new ArrayList<>();

        if (_ids != null) {
            String[] v_ids = _ids.split(",");
            for (String v_id : v_ids) {
                Integer id = aInteger(v_id);
                if (id != null) {
                    list.add(id);
                } else {
                    list = null;
                    break;
                }
            }
        }
        return list;
    }

    /*Listas*/
    public static Integer[] aIntegerL(String[] s) {
        Integer[] result = null;

        if ((s != null) && (s.length > 0)) {
            result = new Integer[s.length];

            for (int i = 0; i < result.length; i++) {
                try {
                    result[i] = Integer.valueOf(s[i]);
                } catch (NumberFormatException ex) {
                    result = null;
                    break;
                }
            }
        }

        return result;
    }

    public static Double[] aDoubleL(String[] s) {
        Double[] result = null;

        if ((s != null) && (s.length > 0)) {
            result = new Double[s.length];

            for (int i = 0; i < result.length; i++) {
                try {
                    result[i] = Double.valueOf(s[i]);
                } catch (NumberFormatException ex) {
                    result = null;
                    break;
                }
            }
        }

        return result;
    }

}