Conectar Java con MySQL en NetBeans

1 05 2008

Dentro de unas semanas tendré que desarrollar, junto con un equipo de trabajo, un sistema de un almacen en Java bajo la plataforma de NetBeans. Es por eso que comenzaré a pubicar una serie de post sobre cómo manejar bases de datos de MySQL con Java, y en los cuales poco a poco iré agregando nuevas funcionalidades.

Por ahora solo mostraré cómo realizar la conexión a la base de datos de MySQL.

Para comenzar debemos de tener instalado NetBeans, en lo particular yo tengo instalada la versión 6.0. Posteriormente debemos descargar un Driver o Conector para poder conectarnos a la base de datos. Se puede decir que ese Driver sabe “cómo hablar con la base de datos”, yo descargué la versión 5.0.

Una vez descargado el archivo, extraemos los componentes, de estos el archivo que nos interesa es mysql-connector-java-5.0.5-bin.jar , este jar es la clase o Driver que nos permitirá conectarnos a la base de datos.

Ahora tenemos que hacer que esa clase esté accesible para nuestros proyectos, así que la vamos a guardar en la carpeta <DIRECTORIO_DE_JAVA>/jre/lib/ext. Si has realizado una instalación por defecto del NetBeans en Windows, entonces estará en: C:\Archivos de programa\Java\jdk1.6.0_04\jre\lib\ext. En esta carpeta es donde se agregan los jar adicionales, y así ya los tendremos disponibles para cuando necesitemos usarlos de nuevo.

Ahora que ya tenemos el conector a la base de datos pasaremos a la parte del NetBeans:

  1. Creamos un nuevo proyecto: New Project -> Java -> Desktop Application (Basic application).
  2. Agregamos un botón al formulario y le cambiamos su label a “Cargar datos”.
  3. Agregamos una nueva clase llamada TestConnection
    import java.sql.*;
    public class TestConnection {
    public String bd = "nombre_bd";
    public String login = "usuario";
    public String password = "contraseña";
    public String url = "jdbc:mysql://localhost/"+bd;
    public void conectar() {
    Connection conn = null;
    try {
    Class.forName("org.gjt.mm.mysql.Driver");
    conn = DriverManager.getConnection(url, login, password);
    if (conn != null)
    {
    System.out.println("Conexión a base de datos "+url+" ... Ok");
    conn.close();
    }
    }
    catch(SQLException ex) {
    System.out.println("Hubo un problema al intentar conectarse con la base de datos "+url);
    }
    catch(ClassNotFoundException ex) {
    System.out.println(ex);
    }
    }
    }
  4. Hacemos doble clic en el boton “Cargar datos” y colocamos el siguiente código:
    sourcecode language=’java’ [
    TestConnection conexion = new TestConnection();
    conexion.conectar();
  5. ]

Y listo!!!. Con esto ya tenemos realizada la conexión a la base de datos de MySQL

Espero que les sirva!!!

Relacionados:


Acciones

Información

29 respuestas

6 05 2008
Maza

Si sirve je, muchas gracias che, ahora le voy apegar una hojeadita tu blog, esta entrada me viene de 10…

8 05 2008
Ejecutar SQL en Java « Programación, tecnología, humor, curiosidades…

[...] 8 05 2008 En esta ocasión veremos como ejecutar sentencias SQL en Java, tomando en cuenta la conexión que realizamos a la base de datos [...]

10 07 2008
ttorrentte

Hola, me ha servido mucho gracias, estoy empezando a programar con java y se agradecen cosas como estas. Tengo una duda, cuando copie tu codigo al netbeans, me daba unos fallos, el primero las “, que las cambie y sin problemas, cosas del copiar y pegar. Pero el segundo, tuve que poner las variables bd, login, password y url a static, sino no me dejaba compilar. Una vez hecho esto funciona sin problemas. ¿Es fallo mio? Venga, un saludo

10 07 2008
frago

Hola, primero que nada gracias por tu comentario :P . Sobre tu duda, creo que tienes razón, es necesario poner las variables como “estaticas”, esto es por que los métodos estáticos no tienen acceso a las características no estáticas de una clase. Aunque creo que para solucionar esto es más fácil quitándole el modificador de acceso static, pero este tipo de implementacion de la clase no es correcta, porque los campos nunca deben declararse como públicos, lo que se debe hacer es declararlos como privados y utilizar los metodos setField y getField para modificar sus valores, además debe haber un constructor que reciba los parametros(usuarios, db, contraseña) y que también te permita conectarte a la base de datos, es decir, debe haber sobrecarga en los constructores (esto me lo mencionó un maestro).
Este post lo escribí cuando apenas estaba empezando a aprender java y algo de POO, asi que en breve espero poner una implementación un poco mñas correcta :P

11 07 2008
ttorrentte

Gracias por la respuesta frago

11 07 2008
luchito

frago, podrias poner relacionado a un boton “buscar” en netbeans?

11 07 2008
frago

@luchito: si, creo que será mejor preparar otro post en el que incluya todas las correcciones que le mencione a ttorrentte y agregarle algunas cosas más, claro que incluyendo lo que me pides. Intentaré tenerlo listo este fin de semana.

22 07 2008
Ejemplo de Java + SQL + Netbeans « Programación, tecnología, humor, curiosidades…

[...] eliminar, consultar) pero implementadas de una “mejor manera” comparada con los otros post que hay en este blog sobre este tema (tampoco quiero decir que sea la mejor ni mucho [...]

5 11 2008
Diego Gonzales

Hola amigos me gustaria saver como conectar una base de datos MySql con Java esto con un ejemplo corrido en java o mejor si los pueden subir para ver los codigos de los ejemplos q coloquen esto para aprender de ellos por fa so los suben varias personas se los agradeseran amigos.

bueno espero una respuesta.

saludos … pirata3000

5 11 2008
Diego Gonzales

Hola nueva mente aqui seria bueno tambien si pudieran colocar videos tutores esplicando estos aspectos de las conexiones de bd con java eso seria genial amigos y especialmente esto para el dueño de este blog

7 11 2008
frago

Hola Diego, si quieres los ejemplos podría mandartelos a tu correo, igual para la persona que lo solicite ;) . Aunque yo te recomiendo que veas esta clase para conexión a bd http://fragowb.wordpress.com/2008/07/22/ejemplo-de-java-sql-netbeans/ está mucho mejor jeje. También gracias por tus sugerencias, las tomaré en cuenta, aunque lo de los videotutoriales yo lo veo un poco complicado que pueda hacerlos yo mismo porque no tengo mucho tiempo, pero si me encuentro alguno útil por ahí lo andaré posteando por acá :P

Saludos!!

10 11 2008
ramon

hola disculpe las molestias yo quisiera comentarle.. yo estoy tomando el curso de netbeans en java y quisiera que me ayudara un poco ya que la base de datos que yo estoy usando es en microsoft access.y me tienen dejado un trabajo final que es el de agrgar,buscar,modificar,eliminar, quisiera que defavor me ayudaras ya que le entiendo un poco,, gracias

10 11 2008
ramon

disculpe seme olvidaba comentarle el programa que me handejado me lo´piden en un jframe con todo y el diseño y que tenga un boton para cada operacion le agradeseria si me contestara lo mas pronto posible

10 11 2008
ramon

hay respuesta

10 11 2008
frago

Hola Ramon, por cuestiones de tiempo no creo poder elaborar un ejemplo de lo que pides orita pronto, pero te recomiendo que veas este artículo publicado en WebTaller, espero que te sirva

http://www.webtaller.com/construccion/lenguajes/java/lecciones/como_conectar_java_access.php

Saludos!!

13 11 2008
chip86

hola, muy buen ejemplo de coneccion, soy estudiante de ingenieria en sistemas computacionales y estoy haciendo un almacen de productos de una tienda de abarrotes, la verdad soy nuevo en esto, me gustaria ver si me podrias proporcionar un tutorial sobre la base de datos y la programacion, de paso estoy trabajando con netbeans 6.1. de antemano muchas gracias por la ayuda brindada.

13 11 2008
chip86

si alguien sabe de algun ejemplo similar porfavor aganmelo saber
hernandez731@hotmail.com
gracias

13 11 2008
frago

yo ya respondi algo por correo :P

aguna otra cosa por aqui la dejan

saludos!!

26 11 2008
Felipe_Aybar

Hoal, muy buen ejemplo de coneccion de base de datos MySQL.
Tengo q hacer un programa com coneccion a base de datos
Quisiera q me ayude en este problema y no se nada de coneccion recien estoy iniciando en esto quisiera q me ayuden…
el projecto enviarme al correo email
PROBLEMA
Se requiere construir una aplicación para manejar la información de socios de un club. Además de los socios, al club pueden ingresar personas autorizadas por éstos, que hayan sido registradas con anterioridad. Tanto los socios como las personas autorizadas pueden realizar consumos en los restaurantes del club. Cada socio está identificado con su nombre y un código. Una persona autorizada por un socio se identifica únicamente por su nombre. Cuando un socio (o una persona autorizada por el), realiza un consumo en el club, se crea una factura que será cargada a la cuenta del socio. El Club guarda las facturas y permite que en cualquier momento el socio vaya y cancele cualquiera de ellas. Cada factura tiene un concepto que describe el consumo, el valor de lo consumido y el nombre de quien lo hizo.

Les estaria realmente agradecido por su ayudo de anticipado

26 11 2008
Felipe_Aybar

Hala denuevo olvide mi correo

el_demoledor_124@hotmail.com

26 11 2008
frago

@Felipe: no era necesario el correo jeje :P

27 11 2008
brian

oye voy a implementar una aplicacion donde use la conexion a base de datos es una practica para mi escuela podrias ayudarme en publicar todo el codigo necesario para realizar la conexion entre mysql y netbeans espero tu respuesta ok gracias

27 11 2008
frago

@brian: con ese código es suficiente para conecarte, si requieres algo más podrías ver este otro post http://fragowb.wordpress.com/2008/07/22/ejemplo-de-java-sql-netbeans/

Saludos

3 01 2009
Pitt

Buenas noches, con respecto al problema que menciona arriba Felipe , quisiera saber si ya lo resolvieron , necesito tambien el mismo problema para un exa, final , haber si me pueden apoyar cn ese desarrollo , nota no es nesesario conectar a base de datos , puede ser solo una aplicacion .
gracias .

26 01 2009
genco

Hola, gracias por poner tu codigo, pergunte e investige bastante y creo que la menor manera de crear una clase de conexion que va a ser compartida por varias clases y sobretodo que solo debe exsistir “una y solo una” conexion es usando el patron “singleton” que asegura que solo una instancia de la clase sea usada.
para comenzar esta perfecto, sobretodo para los novatos que algunos se pierden bastante y se desaniman si no les sale a los 10 primeros intentos.
los metodos son los mismos solo que falta un poco de orden. felicitaciones.

26 01 2009
frago

@genco gracias por el comment :P , si tienes razón, usando el patrón singleton esto quedaría mucho mejor y seria la manera correcta de implementarla :D

saludos!!

12 05 2009
Daniel

Hola… estoy aprendiendo java.. ia tengo la conexion con el metodo que pusiste hice la clase y puse el codigo con los datos de mi BD.. en el boton “agrega—dar de altar” puse TestConnection conexion = new TestConnection();
conexion.conectar();

Eso es para la conexion… pero tengo un formulario esta hecho en netbeans.. como hago para que los datos que ingrese al formulario se guarden en la tabla que io le indike de mi base de datos.??? podrias ayudarme

13 05 2009
frago

hola Daniel…para agregar usuarios a la base de datos te recomiendo que cheques este link http://fragowb.wordpress.com/2008/07/22/ejemplo-de-java-sql-netbeans/ ;)

y para que se guarden los datos que introduces en el formulario pues solamente obtienes los datos de los textfield, por ejemplo miTextField.getText y esos datos se los mandas al metodo insertar asi como se muestra en el link que te menciono anteriormente

saludos!!

21 05 2009
Andres Caicedo

La pregunta era para saber de que forma puedo modificar las tablas.

Deja un comentario