You are on page 1of 23

Ing.

Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Prctica 3 Manejo de Base de Datos(Java-MySQL) desde consola

Objetivo de la prctica: Realizar una aplicacin Java que a partir de la base de datos seleccionada por cada alumno pueda hacer una aplicacin Java de Consola que permita realizar un ABC y posteriormente realizar una aplicacin Java de escritorio para tener una interface GUI (Interfaz Grfica de Usuario) con las mismas operaciones de ABC sobre una base de datos en MySQL

Prcticas 3.1.- Aplicacin Java de base de datos en consola 3.2.-Aplicacin Java de base de datos en escritorio (ventanas) Ambas prcticas se realizaran en un mismo proyecto en NetBeans por lo que comenzaremos abriendo una aplicacin de escritorio (ventana) pero comenzaremos realizando la prctica en consola y posteriormente realizaremos la misma aplicacin pero en escritorio.

Estndares de siglas de materias Materia Organizacin de datos (L.I.) Taller de base de datos (I.S.C.) Tpicos avanzados de programacin (L.I.) Tpicos selectos de programacin (I.S.C.) Siglas de materia odd tbd

tap

tsp

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Practica 3.- Aplicacin Java de base de datos en consola Primero recordaremos unos comandos bsicos de MySQL Comando
mysql -u root -p

Explicacin
Para conectarse al servidor de base de datos MySQL desde consola

Observaciones
Se ejecuta desde consola de MS-DOS en la ruta donde est la carpeta de MySQL y en bin (binarios o ejecutable) Ya dentro de MySQL Sustituye el nomb_BD por el nombre que quieras darle a la base de datos

show databases;
create database nomb_BD;

Muestras las bases de datos Crea una base de datos

use nomb_BD; connect nomb_BD; show tables;

describe nomb_tabla;

exit

Se conecta a la base de datos Muestra las tablas existentes en la base de datos Muestra los campos y tipos de datos de la tabla Salir del servidor de base de datos MySQL

Paso 3.1 crear la base de datos y la tabla Persona en MySQL

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Mysql> create database agenda;

Nota: hay que correr el script o los pasos para la creacin de la tabla persona e introducir algunos registros y cree un usuario para esta base de datos (login: bingo y password:hola). CREATE TABLE persona ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, nombre VARCHAR(80), edad INT, sexo VARCHAR(15) );

INSERT INTO persona(nombre, edad, sexo) VALUES('Pepe',19,'masculino');

INSERT INTO persona(nombre, edad, sexo) VALUES('Mary',15,'femenino');

//En la base de datos agenda crea el usuario bingo con el password hola GRANT ALL on agenda.* TO bingo@localhost IDENTIFIED by 'hola';

Paso 3.2 Aadir la librera (JDBC: Java Data Base Conection)

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

que permite conectar MySQL con programas en Java mysql-connector-java-5.1.14.jar o una versin superior.

Seleccin del archivo .jar

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Archivo .jar ya incluido en la biblioteca

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Paso 3.3 Aadir la clase Conexion.java al que contiene los atributos y mtodos necesarios para conectarse a la base de datos
Nota: Al aadir el cdigo del archivo Conexin.java debes de respetar el nombre del package que debe ir al inicio del archivo y donde aparece con el nombre de la carpeta de la siguiente manera: package tap_gui_persona_nestorcarrillo En tu proyecto debers respetar el nombre del package que corresponda con el nombre de la carpeta que estoy sealndote en la imagen siguiente

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Aadir nueva clase Java

Aadir el nombre de la clase es Conexion No coloques extensin ya que se la pone el NetBeans

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Cdigo de Conexin.java Nota: Solo cambia el package por el correspondiente a tu proyecto, de lo contrario te marcar error.

package siglasmateria_gui_persona_nestorcarrillo;;

/** * * @author Nestor */

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

import java.sql.*;

public class Conexion { private String bd; private String user; private String password; private String url; private String driverClassName; private Connection conn = null; private Statement stmt;

public Conexion(String user, String password, String url, String driverClassName) { this.user = user; this.password = password; this.url = url; this.driverClassName = driverClassName; } public Conexion() { this.bd="agenda"; this.user = "bingo"; this.password="hola"; this.url = "jdbc:mysql://localhost/"+bd; //nombre de la base de datos //usuario de la base de datos //password de la base de datos //servidor de la base de datos

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

this.driverClassName = "com.mysql.jdbc.Driver"; // driver } public String getPassword() { return password; }

public String getUrl() { return url; }

public String getUser() { return user; }

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

public void setUrl(String url) { this.url = url; }

public Connection getConn() { return conn; }

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

public void setConn(Connection conn) { this.conn = conn; }

public void setDriverClassName(String driverClassName) { this.driverClassName = driverClassName; }

public String getDriverClassName() { return driverClassName; }

public void setUser(String user) throws SQLException { this.user = user; }

public void conectar() throws SQLException { try { Class.forName(this.driverClassName).newInstance(); this.conn = DriverManager.getConnection(this.url, this.user , this.password);

} catch (Exception err) { System.out.println(

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

"Fallo al cargar el controlador JDBC/ODBC. Error " + err.getMessage()); } }

public ResultSet obtenerDatos(String sql) throws SQLException { this.stmt = conn.createStatement(); return this.stmt.executeQuery(sql); }

public void actualizar(String sql) throws SQLException { this.stmt = conn.createStatement(); stmt.executeUpdate(sql); }

public void escribir(String sql) throws SQLException { this.stmt = conn.createStatement(); stmt.execute(sql); }

public ResultSet ExeGet(String Q) throws SQLException{ Statement st = this.conn.createStatement(); return (ResultSet) st.executeQuery(Q); }

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

public int Exe(String Q) throws SQLException{ Statement st = this.conn.createStatement(); return st.executeUpdate(Q); }

public void Off() throws SQLException{ this.conn.close(); }

}//class Conextion

Paso 3.4 aadir una clase nueva aplicacin de consola para realizar las operaciones de ABC sobre la base de datos Persona en el servidor de base de datos MySQL

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Nombre del archivo de consola a agregar


siglasMateria_ConsolaBD_TipoDeDato_TuNombreApellido
Estndares de siglas de materias Materia Organizacin de datos (L.I.) Taller de base de datos (I.S.C.) Tpicos avanzados de programacin (L.I.) Tpicos selectos de programacin (I.S.C.) SiglasMateria odd tbd

tap

tsp

En mi caso siglasMateria_consolaBD_Persona_NestorCarrillo

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

Ing. Nstor Alejandro Carrillo Lpez

I.T.Zacatecas

You might also like