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:
- Creamos un nuevo proyecto: New Project -> Java -> Desktop Application (Basic application).
- Agregamos un botón al formulario y le cambiamos su label a «Cargar datos».
- 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);
}
}
}
- Hacemos doble clic en el boton «Cargar datos» y colocamos el siguiente código:
sourcecode language=’java’ [
TestConnection conexion = new TestConnection();
conexion.conectar();
]
Y listo!!!. Con esto ya tenemos realizada la conexión a la base de datos de MySQL
Espero que les sirva!!!
Relacionados:
Si sirve je, muchas gracias che, ahora le voy apegar una hojeadita tu blog, esta entrada me viene de 10…
[…] 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 […]
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
Hola, primero que nada gracias por tu comentario 😛 . 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 😛
Gracias por la respuesta frago
frago, podrias poner relacionado a un boton «buscar» en netbeans?
@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.
[…] 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 […]
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
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
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 https://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á 😛
Saludos!!
frago, como veo q atinas bastante con esto, te hago una pregunta. Estoy desarrollando una aplicacion(sistemita de gestion en java) para un empresa pequeña. La aplicacion me anda joya con la base de datos(MySql) anda perfecto(todo instalado en mi maquina) pero como tengo colocar la aplicacion en varias PCs distintas y el motor de base de datos en una sola, no se ¿como hacer para conectar las aplicaciones q estan corriendo en diferentes PCs a la base de datos de otra PC distinta?. Espero por una rta. Saludos
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
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
hay respuesta
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!!
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.
si alguien sabe de algun ejemplo similar porfavor aganmelo saber
hernandez731@hotmail.com
gracias
yo ya respondi algo por correo 😛
aguna otra cosa por aqui la dejan
saludos!!
Estamos realizando un proyecto y necesitamos obtener información de la base de datos para luego realizar una funció de cálculo. Aun no hemos podido hacer una función que nos permita esto, espero que nos pueda ayudar.
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
Hala denuevo olvide mi correo
el_demoledor_124@hotmail.com
@Felipe: no era necesario el correo jeje 😛
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
@brian: con ese código es suficiente para conecarte, si requieres algo más podrías ver este otro post https://fragowb.wordpress.com/2008/07/22/ejemplo-de-java-sql-netbeans/
Saludos
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 .
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.
@genco gracias por el comment 😛 , si tienes razón, usando el patrón singleton esto quedaría mucho mejor y seria la manera correcta de implementarla 😀
saludos!!
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
hola Daniel…para agregar usuarios a la base de datos te recomiendo que cheques este link https://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!!
La pregunta era para saber de que forma puedo modificar las tablas.
saludos…
Buen aporte para los que iniciamos en java, me a servido mucho para entender la estructura de las clases y como llamarlas…
Gracias…
hola frago
intente conectar a la base con el código que muestras arriba pero me marca un error en el segundo código (códio boton).ojala puedas ayudarme con eso.
no se si tengo que agregar librerias o algo asi.
saludos.
Hola estoy aprendiendo java y tengo una exposicion y nesesito mas informacion
Ooolap a todos amigos en este espacio… es un excelente blog, gracias por todos que hacen posible… soy estudiante de informática y bueno me blog me ha servido mucho sobre todo en finales de semesntre, salu2s a todos
Esta muy bien este tutorial si siguen todo paso a paso logran la conexion ahora necesito saber mas hacerca de realizar consultas e inserts = desde java =) gracias!!!
hola gracias por tus aportes man…
quisiera que me ayudaras en una cuestion… pues resulta que corri tu codigo y ps me lanzo la primera excepcion la de com.mysql.jdbc.CommunicationsException: Communications link
y pos no se como solucionarlo =(
ya lo solucione =)
hola como lo solucionaste
yo tengo error al intentaqr conectar con la base de datos
hola probe tu codigo y me sirvio muy bueno, pero despues de unos dias quise mostrarle esa conexion a un amigo y ya no me servia me sacaba el error de la sentencia catch quisiera saber si alguno de ustedes puede decirme porque puede ocurrir ese error, lo raro es que antes me funcionaba gracias
Jovenes, a la hora de poner el codigo en netbeans me aparece como error esta linea
public class TestConnection {
Donde dice que class TestConnection is public, should be declared in a file name named TestConnection.java
Espero puedan ayudarme, gracias.
Excelente Articulo me ayudo muchisimo, estaba trabajando en php ya no me acordaba muy bien de java grax.
TE AMO WN!
fallo amigo k crees que sea el problema, segun java en la declaracion de la clase esta el error… espero tu pronta respuesta
URGENTE
oye bro q crees ya tengo todos los pasos que mencionas pero no me corre en esta parte
sourcecode language=’java’ []; marca error
como solucionar eso
para poder ver mi base de datos
Gracias!! aprendí mucho…
Hola esta bueno el material solo tengo una pregunta que es algo tonta. Yo tengo instalado Netbeans 6.9.1 lo tengo en Ubuntu pero por ningún lado veo el directorio UbicacionNetBeans/jre/lib/ext ¿dependiendo de la versión cambia el nombre de el nombre del directorio?
Excelente codigo tenia dias de tratar de conectarme, pero ningun codigo tan claro como esta…
Muchas gracias
COMO SERIA EL CODIGO PARA INSERTAR DATOS DESDE UN BOTON
hola disculpa corri tu codigo pero me marca el siguiente error-«hubo un problema al intentar conectar a la base de datos»- por que será. espero respuestas porfa ayudenme
Gracias por el aporte tengo una duda como podria mostrar datos de una tabla en mysql en una lista de neatbeans
Espero puedas ayudarme …ok
morbid_deth@hotmail.com
package globalcommunication;
import java.sql.*;
import javax.swing.*;
/**
*
* @author Lombardi Ramos Jairo Ben-Hail
*/
public class conexion
{
String bd=»GlobalCommunication»;
String login=»root»;
String pass=»»;
String url=»jdbc:mysql://localhost:3306/»+bd;
Connection con;
public Connection Conectar()
{
Connection conn=null;
try
{
Class.forName(«com.mysql.jdbc.Driver»).newInstance();
conn=DriverManager.getConnection(url,login,pass);
if(conn!=null)
JOptionPane.showMessageDialog(null, «Conexión exitosa!»);
else
JOptionPane.showMessageDialog(null, «No fue posible hacer la Conexión!»);
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null, «Se podujo el siguiente error:»+ex.getMessage());
}
catch(ClassNotFoundException ex)
{
JOptionPane.showMessageDialog(null, «Se podujo el siguiente error:»+ex.getMessage());
}
catch(InstantiationException ex)
{
JOptionPane.showMessageDialog(null, ex.getMessage());
}
catch(IllegalAccessException ex)
{
JOptionPane.showMessageDialog(null, ex.getMessage());
}
return conn;
}
public conexion()
{
}
public static void main(String[] args)
{
conexion conexion = new conexion();
}
}
Amigo no se porque casi que copie tu mismo codigo pero lo adapte con mi base pero igual me imprime que no se ha hecho la conexion con la base de datos. SI me puedes ayudar mi correo es raiam_93@hotmail.com
Buen Aporte Amigo..
Lo Mas claro.. de tantas paginas parecidas que hay.
Gracias.
buen dia una preguntotota se puede conectar java con mysql pero que la bd este alojada en un servidor?? salu2
Saludos… estoy aprendiendo a programar en jsf con netbeans.. debo hacer una web con acceso a base de datos (MySQL)…
Si me pueden ayudar con todo el material posible les agradeceria un monton…
Hola a todos, he revisado tu código, lo modifiqué un poco según mis necesidades, y funciona perfectamente, el problema consiste que quise acceder a una base de datos que se encuentra en otro computador y no fui capaz, en todos los foros dice que es suficiente con cambiar donde dice «localhost» por el # del ip, pero no me funciona, me sale el siguiente error:
Error Communications link failure
Last packet sent to the server was 0 ms ago.
alguna sugerencia?
justo lo que necesitaba!!! 🙂
NO ENTIENDO LA PARTE DEL BOTON CARGAR DATOS DONDE ES QUE TENGO QUE PEGAR EL CODIGO COMO HAGO