Comunidad de diseño web y desarrollo en internet

Crear base de datos con archivo .bat y .sql desde Java

El objetivo de este tutorial es que puedas crear la BD de tu aplicación al momento de que corra por primera vez, sin necesidad de entrar a phpMyAdmin o copiar y pegar la carpeta de la BD en el servidor MySQL.

En muchas ocasiones he hecho aplicaciones en Java para el manejo de base de datos (BD a partir de ahora) con MySQL, pero jamas había tenido la necesidad de hacer un instalador para dichas aplicaciones, lo cual considero un punto muy importante para un desarrollador.

Primero crearemos la BD desde la terminal del servidor. Ojo no se harán las tablas ni volcaremos los datos necesarios aun, solo se creara la carpeta en nuestro servidor, para esto se utiliza mysqladmin, el script para crear la BD seria:

Código :

mysqladmin -uroot -p******* create pandurito_bd

Donde -u es el nombre de usuario y -p es el password, ojo debe de ir pegado (-uroot -p*******) sino solo da dolores de cabeza. :shock: Al hacer esto se crea la base de datos en nuestro servidor.

Para crear las tablas de la BD, haz un archivo .sql con el código para hacer dicha accion.

Código :

CREATE TABLE prueba ( 
ID_Prueba int(11) DEFAULT '0' NOT NULL auto_increment, 
Nombre varchar(100), 
Apellidos varchar(100), 
PRIMARY KEY (ID_Prueba), 
UNIQUE ID_Prueba (ID_Prueba) 
); 

Lo guardaremos como: ejemplo.sql en C:\ o en alguna dirección que tengas en claro para poder ser ejecutado posteriormente, IMPORTANTE el código MySQL debe ser escrito en una sola linea :wink:

Lo ejecutaremos de la siguiente manera:

Código :

mysql -uroot -p******* pandurito_bd <C:\ejemplo.sql

En este caso utilizaremos comandos mysql y no mysqladmin, donde -u es el usuario -p el password y pandurito_bd la BD donde queremos crear las tablas y volcar nuestros datos

En síntesis
Haz un archivo .bat con las lineas que ejecutaran las acciones deseadas, yo lo llamare BD.bat

Código :

mysqladmin -uroot -p*** create pandurito_bd
mysql -u root -p*** pandurito_bd <C:\ejemplo.sql


Y crea un archivo .sql en C:\ con el codigo para hacer las tablas:

Código :

CREATE TABLE prueba ( 
ID_Prueba int(11) DEFAULT '0' NOT NULL auto_increment, 
Nombre varchar(100), 
Apellidos varchar(100), 
PRIMARY KEY (ID_Prueba), 
UNIQUE ID_Prueba (ID_Prueba) 
);


Código en Java


Ya que tenemos los archivos necesitamos ejecutarlos desde java. Para eso haremos un método en nuestra aplicación que se encargara de ejecutar nuestro archivo .bat que contiene las instrucciones para crear nuestra BD.

Código :

    public void ejecutar(String archivo){
        try {
            String comando;
            Process proceso = Runtime.getRuntime().exec(archivo);
            BufferedReader lector = new BufferedReader (new InputStreamReader (proceso.getInputStream()));
            while ((comando = lector.readLine()) != null) {
                System.out.println(comando);
            }
                lector.close();
            }catch (Exception err) {
                err.printStackTrace();
            }
    }


y ejecutaremos el metodo asi:

Código :

ejecutar("C:\\BD.bat");


Asi tenemos la posibilidad de hacer una instalación en las PC´s de nuestros clientes.

En mi siguiente tutorial explicare como hacer un instalador para instalar la API, el Servidor y los archivos necesarios para crear la BD.

Gracias. :D

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate