0% encontró este documento útil (0 votos)
19 vistas12 páginas

Conexion A Bd-Java

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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas12 páginas

Conexion A Bd-Java

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 PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

CONEXIN BASE

DE DATOS MYSQL
CON JAVA



OBJETIVO
Permitir conectar nuestra aplicacin con una Base de datos, e igualmente se llevar a
cabo un test de conexin a travs de un pequeo fragmento de cdigo el cual se colocar
dentro del mtodo de un botn.


























Instrucciones y Recomendaciones

1. Crear la base de datos en mysql
La cual vamos a llamar prueba y la tabla clientes con los siguientes campos
Cdigo int auto_increment primary key
Nombre varchar(30)
Apellido varchar(30)
Ciudad varchar(30)
Telefono varchar(30).

2 Primero que todo debemos descargar el archivo .jar conocido como MySQL
Connector y aadirlo a las libreras de nuestro proyecto; luego crearemos en
nuestro proyecto, un paquete al cual llamaremos "CLIENTES", y dentro de este,
crearemos una clase la cual llamaremos "conectar".



Despus de la lnea de cdigo "package clientes;" y sobre la lnea de cdigo
"public class Conexion {", este fragmento de cdigo se utiliza para importar las Clases y/o
libreras necesarias para poder trabajar con ciertas funcionalidades y mtodos de nuestra
Clase:


import java.awt.HeadlessException;
import java.sql.*;
import javax.swing.*;

public class conectar {
//Ahora instanciaremos un objeto de tipo "Connection", al cual asignaremos el valor "null".
//Esto ir dentro del mtodo del punto anterior:
Connection conect = null;
//Lo siguiente es un mtodo, este contiene la propiedad "public", y devolver un valor de
//tipo "Connection", que en otras palabras sera la conexin con nuestra Base de datos; y
//se le ha asignado a este mtodo el nombre de "Conexin":
public Connection conexion()
{
//Proseguiremos a crear un bloque "try-catch", debido a que el cdigo que hemos de
//emplear podra producir una excepcin y/o error. Este bloque ir dentro del mtodo
//mencionado
try {

//Cargamos el Driver MySQL
Class.forName("org.gjt.mm.mysql.Driver");
//Ahora utilizando el mtodo DriverManager.getConnection, obtendremos la conexin
//con nuestra Base de datos, y procederemos administrarla y almacenarla en el objeto tipo
//Connection instanciado al principio del mtodo "Conexin". Esta lnea de cdigo ir
//dentro del "try{}"
Conect= DriverManager.getConnection("jdbc:mysql://localhost/prueba","root","28540464");
JOptionPane.showMessageDialog(null,"conectado");
} catch (HeadlessException | ClassNotFoundException | SQLException e) {
/*En el caso dado de que ocurra un error al tratar de conectarnos con nuestra Base de
datos, procederemos a mostrar dicha excepcin a travs de una pequea ventana,
usando el componente JOptionPane. Esta parte ir dentro del "catch(){}" */
JOptionPane.showMessageDialog(null,"Error al onectar "+e);
}
/*Por ltimo retornaremos la conexin obtenida, la cual podra ser exitosa o nula. Esta
lnea ir por fuera del try-catch, pero dentro del mtodo Conexin. */
return conect;
}}
Ahora haremos una prueba para verificar que si nos podemos conectar a nuestra base de
datos, para esto nos iremos a nuestro formulario principal CLIENTES y daremos doble clic
sobre un botn que vamos a agregar para hacer la prueba:

private void pruebaActionPerformed(java.awt.event.ActionEvent evt) {
conectar basedatos = new conectar(); //creamos objeto para realizar conexin.
basedatos.conexion();
}
Debe realizar un conexin exitosa.
3 CREAMOS FORMULARIO CLIENTES

Recomendacin debemos cambiar el nombre a nuestras cajas de texto y botones por lo
siguientes:
CODIGO,NOMBRE,APELLIDO,CIUDAD,TELEFONO,NUEVO,GUARDAR,CANCELAR,SA
LIR. POR FAVOR BORRAR LOS COMENTARIOS INICIALES DE NUESTRO
FORMULARIO.
package clientes;
import java.sql.*; //librera s que vamos a utilizar en nuestro proyecto
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class clientes extends javax.swing.JFrame {
DefaultTableModel modelo; // El DefaultTableModel es una clase que
//implementa TableModelque contiene todos los mtodos necesarios para modificar
//datos en su interior, aadir filas o columnas y darle a cada columna el nombre que
//se desee. Esto lo utlizaremos mas adelante
public clientes() {
initComponents();
limpiar();//mtodos que vamos a crear que solo vamos colocando a medida que
vamos crendolos para que no salgan con error.
bloquear();
cargar("");
}
void limpiar(){ //Creamos el mtodo para limpiar los campos
NOMBRE.setText("");
//Realizar esto para los dems campos: apellido,ciudad,telfono al campo cdigo no se
aplicara este mtodo ya que cdigo es nico sin modificaciones.
}
void bloquear(){ //Este mtodo nos permitir deshabilitar nuestros campos para no ser
modificados por error.
CODIGO.setEnabled(false);
// Realizar esto para los dems campos nombre,apellido,ciudad,telfono.
NUEVO.setEnabled(true); //Este debe est habilitado para el momento de ingresar
un nuevo registro.
GUARDAR.setEnabled(false);
CANCELAR.setEnabled(false);
}
void desbloquear(){ // Permite habilitar los campos
CODIGO.setEnabled(false); //Debe quedar siempre falso no vamos a realizar
modificaciones.
NOMBRE.setEnabled(true); lo realizamos para apellido,ciudad,telfono.
NUEVO.setEnabled(false);
GUARDAR.setEnabled(true);
CANCELAR.setEnabled(true);
}
//Creamos el ActionPerformed para los botones nuevo,cancelar bloquea los campos y
salir.
private void NUEVOActionPerformed(java.awt.event.ActionEvent evt) {
desbloquear();// llamamos al mtodo
NOMBRE.requestFocus(); //Le indicamos que inicie campo nombre
limpiar(); //llamamos al mtodo para limpiar los campos

}


Creamos el ActionPerformed para el botn GUARDAR
conectar basedatos = new conectar();// llamamos a nuestro objeto conectar y le
declaramos una variable
Connection vc = basedatos.conexion(); // Creamos una variable de conexin. Con la
variable basedatos y nuestro mtodo conexin.
String nombre,apellido,ciudad,telefono; //creamos las variables temporales que nos
almacenara lo que se tiene en las cajas de texto.
String sql = "";// creamos la sentencia sql.
nombre = NOMBRE.getText(); //ac pasamos lo que se almacena en el textfield en
este caso llamado NOMBRE a la variables temporales.
Realizar lo mismo para apellido,ciudad,telfono.
// creamos nuestra sentencia sql que nos permite insertar nuestro datos a la batos creada.
sql = "INSERT INTO clientes (nombre,apellido,ciudad,telefono)VALUES (?,?,?,?)";
try {
//El PreparedStatement nos permite definir una sentencia SQL base, que nos sirve
para modificar/insertar/buscar uno o varios registros.
//VC= objeto que realiza la conexin que creamos al inicio.
// nuevo= variable que usted la nombra libremente que debe tener en cuenta para ms
adelante.
try {
PreparedStatement nuevo = vc.prepareStatement(sql);
nuevo.setString(1,nombre); //asignamos en el 1 campo que se evalua ? me lo
almacene en la variable nombre que creamos anterior mente.
//REALIZAMOS LO MISMO PARA(apellido,ciudad,telfono);
int registro=nuevo.executeUpdate(); // creamos la variable registro que nos
contara cuantos registro se almacenaron en nuestro Statement llamado nuevo al
momento de ejecutarse.
if (registro>0){
JOptionPane.showMessageDialog(null,"REGISTRO GUARDADO CON EXITO");
bloquear(); //llamamos a los mtodos bloquear
cargar(""); //llamamos a los mtodos cargar cuando este se cree.
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"REGISTRO NO GUARDADO CON
EXITO");
}

}
Creamos los eventos para cancelar y salir de nuestro formulario.
private void CANCELARActionPerformed(java.awt.event.ActionEvent evt) { }
private void SALIRActionPerformed(java.awt.event.ActionEvent evt) { }
AQU NECESITAMOS MOSTRAR LOS DATOS VAMOS A UTILIZAR UN TABLE
=tablaclientes, BUTTOM = buscar,mostrar,actualizar y TXTFIELD=txtbuscar

Borramos su contenido /cuadro de dialogo personalizador/columnas/delete.




Creamos el mtodo cargar por tal razn debemos colocar JTABLE la cual llamaremos
tablaclientes.

void cargar(String valor){ //reciba un valor que nos permita filtrar
String [] titulos = {"codigo","nombre","apellido","ciudad","telefono"};// creamos los
ttulos de nuestra tabla
String [] registros = new String[5]; // creamos un arreglo de acuerdo al nmero de
campos a utilizar.
//creamos una sentencia sql.
String sql = "SELECT * FROM clientes where CONCAT(nombre,' ',apellido) LIKE
'%"+valor+"%'"; //filtra la informacin por nombre y cliente al valor asignado.
modelo = new DefaultTableModel(null,titulos); //al modelo que creamos vamos
asignarle los titulos
conectar basedatos = new conectar();// llamamos a la conexin BD
Connection vc = basedatos.conexion();
try {
Statement op = vc.createStatement();//creamos un Statemen para ejecutar nuesta
consulta.
ResultSet rs = op.executeQuery(sql);// creamos una variable resulset ya que esta
consulta va tener resultados al realizar la conexin a bd.
// se crea un while que nos permita insertar nuestros registro a nuestra tabla clientes
while (rs.next()){
registros[0]=rs.getString("codigo");
// Esto lo realizamos para nombre,apellido,ciudad,telfono.
modelo.addRow(registros);// aqu indicamos que se agregue nuestros registros.
}
tablaclientes.setModel(modelo);// indicamos a nuestra tablaclientes se aplique
nuestro modelo.
} catch (SQLException ex) {
}
}
Colocamos un botn BUSCAR y un TEXT FIELD los cuales llamaremos
Buscar-buttom
Txtbuscar-text field
Mostrar-buttom
Creamos el mtodo buscar
private void BUSCARActionPerformed(java.awt.event.ActionEvent evt) {
cargar(TXTBUSCAR.getText()); llamamos el mtodo cargar y se realice la bsqueda por
los parmetros indicados de nombre, apellido.
}
Creamos un men emergente POPU MENU(MODIFICAR) agregar dos tem
(modificar,eliminar).

Creamos el mtodo modificar al tem del men.
private void modificarActionPerformed(java.awt.event.ActionEvent evt) {
int fila = tablaclientes.getSelectedRow(); creamos una variable fila que nos va
permite seleccionar el campo a modificar.
if (fila>=0){
CODIGO.setText(tablaclientes.getValueAt(fila,0).toString()); // nos permite Mostrar
la informacin de este campo.
Realizar para los dems campos nombre,apellido,ciudad,telfono.
desbloquear(); // llamamos al mtodo desbloquear para realizar los ajustes
necesarios.
}
else
JOptionPane.showMessageDialog(null,"NO SELECCIONO FILA");
}
Creamos el mtodo actualizar del botn para que este actualice los cambios en la base de
datos.
private void ACTUALIZARActionPerformed(java.awt.event.ActionEvent evt) {
conectar basedatos = new conectar();
Connection vc = basedatos.conexion();
try {
Creamos la sentencia sql que nos va permite descargar la informacin
modificada a la base de datos creada.
PreparedStatement opc = vc.prepareStatement("UPDATE clientes SET
nombre='"+NOMBRE.getText()+"',apellido='"+APELLIDO.getText()+"',ciudad='"+CIUDAD.
getText()+"',ciudad='"+CIUDAD.getText()+"'WHERE codigo='"+CODIGO.getText()+"'");
opc.executeUpdate();
cargar("");

} catch (SQLException ex) {
System.out.printf(ex.getMessage());
}

}


Creamos el mtodo eliminar al tem del men.

private void eliminarActionPerformed(java.awt.event.ActionEvent evt) {
conectar basedatos = new conectar();
Connection vc = basedatos.conexion();
int fila = tablaclientes.getSelectedRow();
String cod="";
cod=tablaclientes.getValueAt(fila,0).toString();
try {
PreparedStatement nuevo = vc.prepareStatement("DELETE FROM clientes
WHERE codigo='"+cod+"'");
nuevo.executeUpdate();
cargar("");

} catch (SQLException ex) {

}
}
FIN DE NUESTRA CONEXIN A BASE DE DATOS CON NUESTRA TABLA CLIENTE Y
FORMULARIO CLIENTE.

TRASNFERENCIA DE CONOCIMIENTO.
Ahora realizar para tabla producto mysql y cree su respetivo formulario.
Cdigo producto
Nombre del producto
Valor del producto
Marca del producto

También podría gustarte