practica3 consolabd conexion a mysql

23
Ing. Néstor Alejandro Carrillo López I.T.Zacatecas Práctica 3 Manejo de Base de Datos(Java-MySQL) desde consola Objetivo de la práctica: Realizar una aplicación Java que a partir de la base de datos seleccionada por cada alumno pueda hacer una aplicación Java de Consola que permita realizar un ABC y posteriormente realizar una aplicación Java de escritorio para tener una interface GUI (Interfaz Gráfica de Usuario) con las mismas operaciones de ABC sobre una base de datos en MySQL Prácticas 3.1.- Aplicación Java de base de datos en consola 3.2.-Aplicación Java de base de datos en escritorio (ventanas) Ambas prácticas se realizaran en un mismo proyecto en NetBeans por lo que comenzaremos abriendo una aplicación de escritorio (ventana) pero comenzaremos realizando la práctica en consola y posteriormente realizaremos la misma aplicación pero en escritorio. Estándares de siglas de materias Materia Siglas de materia Organización de datos (L.I.) odd Taller de base de datos (I.S.C.) tbd Tópicos avanzados de programación (L.I.) tap Tópicos selectos de programación (I.S.C.) tsp

Upload: jesus-farfan

Post on 11-Apr-2015

38 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Práctica 3 Manejo de Base de Datos(Java-MySQL) desde consola

Objetivo de la práctica: Realizar una aplicación Java que a partir de la base de

datos seleccionada por cada alumno pueda hacer una aplicación Java de Consola

que permita realizar un ABC y posteriormente realizar una aplicación Java de

escritorio para tener una interface GUI (Interfaz Gráfica de Usuario) con las

mismas operaciones de ABC sobre una base de datos en MySQL

Prácticas

3.1.- Aplicación Java de base de datos en consola

3.2.-Aplicación Java de base de datos en escritorio (ventanas)

Ambas prácticas se realizaran en un mismo proyecto en NetBeans por lo que

comenzaremos abriendo una aplicación de escritorio (ventana) pero

comenzaremos realizando la práctica en consola y posteriormente realizaremos la

misma aplicación pero en escritorio.

Estándares de siglas de materias

Materia Siglas de materia

Organización de datos (L.I.)

odd

Taller de base de datos (I.S.C.)

tbd

Tópicos avanzados de programación

(L.I.)

tap

Tópicos selectos de programación

(I.S.C.)

tsp

Page 2: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Practica 3.- Aplicación Java de base de datos

en consola

Primero recordaremos unos comandos

básicos de MySQL

Comando Explicación Observaciones mysql -u root -p Para conectarse al

servidor de base de datos MySQL desde consola

Se ejecuta desde consola de MS-DOS en la ruta donde está la carpeta de MySQL y en bin (binarios o ejecutable)

show databases; Muestras las bases de datos

Ya dentro de MySQL

create database nomb_BD; Crea una base de datos Sustituye el nomb_BD por el nombre que quieras darle a la base de datos

use nomb_BD; ó connect nomb_BD;

Se conecta a la base de datos

show tables; Muestra las tablas existentes en la base de datos

describe nomb_tabla; Muestra los campos y tipos de datos de la tabla

exit Salir del servidor de base de datos MySQL

Paso 3.1 crear la base de datos y la tabla

„Persona‟ en MySQL

Page 3: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Mysql> create database agenda;

Nota: hay que correr el script o los pasos para la creación 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 Añadir la librería

(JDBC: Java Data Base Conection)

Page 4: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

que permite conectar MySQL con programas

en Java “mysql-connector-java-5.1.14.jar”

o una versión superior.

Selección del archivo .jar

Page 5: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Archivo .jar ya incluido en la biblioteca

Page 6: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Paso 3.3 Añadir la clase Conexion.java al que

contiene los atributos y métodos necesarios

para conectarse a la base de datos

Nota: Al añadir el código del archivo “Conexión.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 deberás respetar el nombre del package que corresponda con el

nombre de la carpeta que estoy señalándote en la imagen siguiente

Page 7: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Añadir nueva clase Java

Añadir el nombre de la clase es “Conexion” No coloques extensión ya que

se la pone el NetBeans

Page 8: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Código de “Conexión.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

*/

Page 9: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López 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"; //nombre de la base de datos

this.user = "bingo"; //usuario de la base de datos

this.password="hola"; //password de la base de datos

this.url = "jdbc:mysql://localhost/"+bd; //servidor de la base de datos

Page 10: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López 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;

}

Page 11: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López 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(

Page 12: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López 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);

}

Page 13: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López 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 añadir una clase nueva “aplicación de

consola” para realizar las operaciones de ABC

sobre la base de datos “Persona” en el servidor

de base de datos MySQL

Page 14: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Nombre del archivo de consola a agregar

siglasMateria_ConsolaBD_TipoDeDato_TuNombreApellido

Estándares de siglas de materias

Materia SiglasMateria

Organización de datos (L.I.)

odd

Taller de base de datos (I.S.C.)

tbd

Tópicos avanzados de programación

(L.I.)

tap

Tópicos selectos de programación

(I.S.C.)

tsp

En mi caso “siglasMateria_consolaBD_Persona_NestorCarrillo”

Page 15: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Page 16: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Page 17: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Page 18: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Page 19: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Page 20: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Page 21: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Page 22: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas

Page 23: Practica3 ConsolaBD Conexion a MySQL

Ing. Néstor Alejandro Carrillo López I.T.Zacatecas