Escolar Documentos
Profissional Documentos
Cultura Documentos
Una vez que tengas ambas herramientas instaladas necesitaras el driver o conector a
la base de datos de MySQL que puedes obtener desde aqu.
Copiar
lo
necesario::
Una vez que tengas el NetBeans y el MySQL Server instalado lo que vas a necesitar es copiar
el driver que descargaste, en mi caso el mysql-connector-java-3.1.11-bin.jar dentro de la
carpeta del JDK, en mi caso es la siguiente ruta:
C:\Archivos
de
programa\Java\jdk1.6.0_01\jre\lib\ext
*NOTA: Debes tener el conector dentro de la carpeta anterior antes de ejecutar el NetBeans,
en caso de que est abierto cirralo y vulvelo a abrir.
Ya que lo hayas copiado ahora s abre el NetBeans y espera a que cargue.
Configurar
NetBeans::
Una vez que hayas abierto el NetBeans localiza la seccin de Runtime o Tiempo de
ejecucin que se localiza en el lado izquierdo de la pantalla, como se muestra a continuacin:
un
clic
derecho
sobre
Drivers
selecciona
New
Driver.
dentro
de
Databases
de
nombre MySQL
(Connector/J
driver).
Crear
probar
una
conexin::
se
muestra
continuacin:
de
datos
la
cual
te
quieres
conectar.
Un
ejemplo
completo
serajdbc:mysql://localhost:3306/base_de_datos.
Posteriormente escribe el nombre de usuario para accesar a la base de datos y la contrasea
respectivamente.
Da un clic en el checkbox inferior para que NetBeans recuerde la contrasea durante la
conexin.
Si todo se realiz correctamente podrs ver un nuevo elemento debajo del Driver con las
especificaciones de la conexin actual, si das un clic en el smbolo '+' que aparece de lado
izquierdo del mismo podrs ver las tablas de la base de datos y realizar consultas hacia la
misma.
Implementar
el
cdigo::
realizar
consultas
Empecemos
una
base
por
de
datos
el
en
MySQL.
principio...
de
la
ventana
de
NetBeans.
*NOTA: La clase que crearemos funciona con cualquier tipo de proyecto, para fines de
este
ejemplo
utilizamos
una
aplicacin
java
convencional.
esto
damos
clic
en
el
botn
de Finish o Finalizar.
4. En
este
momento
aparece
del
lado
izquierdo
en
la
pestaa
punto,
dentro
de
se
crea
la
clase
Main.
5. Ahora debemos de dar un clic derecho sobre Source Packages o Paquetes Fuente y
dar un nombre al paquete, en mi caso es database. Este paquete contendr la clase
desde la cual estaremos realizando todas las consultas a la base de datos.
7.
damos
clic
en
el
botn
de Finalizar o Finish.
1
2
3
4
5
import
import
import
import
import
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;
8. Una vez que tenemos las libreras creamos los mtodos a utilizar descritos a
continuacin:
?
1
2
3
/**
* Mtodo utilizado para recuperar el valor del atributo conexion
* @return conexion contiene el estado de la conexin
*
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
*/
public Connection getConexion()
{
return conexion;
}
/**
* Mtodo utilizado para establecer la conexin con la base de datos
* @return estado regresa el estado de la conexin, true si se estableci la c
* falso en caso contrario
*/
public boolean crearConexion()
{
try {
Class.forName("com.mysql.jdbc.Driver");
conexion =
DriverManager.getConnection("jdbc:mysql://host:puerto/baseDatos","usuario","c
} catch (SQLException ex) {
ex.printStackTrace();
return false;
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
return false;
}
return true;
/**
*
*Mtodo utilizado para realizar las instrucciones: INSERT, DELETE y UPDATE
*@param sql Cadena que contiene la instruccin SQL a ejecutar
*@return estado regresa el estado de la ejecucin, true(xito) o false(error)
*
*/
public boolean ejecutarSQL(String sql)
{
try {
Statement sentencia = conexion.createStatement();
sentencia.executeUpdate(sql);
} catch (SQLException ex) {
ex.printStackTrace();
return false;
}
return true;
/**
*
*Mtodo utilizado para realizar la instruccin SELECT
*@param sql Cadena que contiene la instruccin SQL a ejecutar
*@return resultado regresa los registros generados por la consulta
*
*/
public ResultSet ejecutarSQLSelect(String sql)
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
ResultSet resultado;
try {
Statement sentencia = conexion.createStatement();
resultado = sentencia.executeQuery(sql);
} catch (SQLException ex) {
ex.printStackTrace();
return null;
}
return resultado;
9. Finalmente compilamos el archivo localizndolo en el rbol jerrquico del lado izquierdo dando un clic
derecho sobre l y seleccionando la opcin de Compilar o Compile. Podrs utilizar la clase en
cualquier parte de tu proyecto creando una instancia de la misma en el momento que sea necesario.
*TIP: Crea nicamente una vez la conexin con el mtodo crearConexion() desde la clase Main y
pasa tu conexin como parmetro a todas las ventanas y mdulos de la aplicacin que la utilicen.
Una vez realizado lo anterior estars listo para conectarte a bases de datos en MySQL desde
NetBeans, la clase Conexin y el driver para MySQL puedes descargarlos este vnculo en un
archivo comprimido tipo rar, este manual se encuentra en formato PDF desde este vnculo.
Seleccionando el conector
Si todo sali bien, tendrs una nueva librera externa con el nombre de
nuestro conector. Con eso ya podrs ejecutar acciones sobre las base de
datos del servidor Mysql.
import java.sql.*;
Luego
inicializamos
el Driver con
el
mtodo
esttico Class.forName(). Este mtodo le dice a lamquina virtual
de Java que busque en tiempo real la clase en el directorio de variables
(PATH,CLASSPATH, etc) .En el caso de Netbeans y Eclipse tambin
buscar en las directivas del proyecto adicionales.
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Registro exitoso");
} catch (Exception e) {
System.out.println(e.toString());
try {
con = DriverManager.getConnection(
"jdbc:mysql://localhost/TuBaseDeDatos?"
+ "user=TuUsuario&password=TuPass");
jdbc:mysql://[host:puerto],[host:puerto].../[base_de_datos][?propiedad1][=valor1]
[&propiedad2][=valor2]...
con.close();
Recuerda que una consulta (SELECT) retorna en una o mas filas de una
tabla. En cambio la insercin, modificacin y eliminacin cambian la
base de datos, pero no retornan en una estructura tabular.
Teniendo en cuenta esto, usaremos dos mtodos distintos de la
clase Statement dependiendo deltipo de comando. Si vas a
implementar un comando INSERT, DELETE, UPDATE, SET, etc., usas el
mtodo executeUpdate():
try {
cmd = con.createStatement();
ResultSet rs = null;
// ...
try {
cmd = con.createStatement();
// ...
}
while (rs.next()) {
String nombre = rs.getString("NOMBRE");
int edad = rs.getInt(2);
System.out.println(nombre + "-" + edad);
}
rs.close();
El
cdigo
anterior
implementa
los
mtodos getString() y getInt() de ResultSet.
Ambos
mtodos
obtienen el valor de la columna retornada, especificando el nombre de
la
columna
o
su posicin.
Es
importante
cerrar
el
objeto ResultSet con close() para desreferenciar el puntero que
estaba recorriendo la tabla.
Como ves, usamos ? para indicar que el cdigo del cliente ser
variable. Luego usamos el mtodosetInt() para especificar que en el
primer ? vamos a poner el valor de la variable extrado del Text Field.
Para
crear
un
comando
ejecutable
usaremos
mtodo prepareCall() de la clase Connection, veamos:
el
cmdC.registerOutParameter(2,Types.INTEGER);
if (cmdC.execute()) {
ResultSet rs = cmdC.getResultSet();
//Otras acciones...
} else {
Igual que con los comandos normales usaremos los mtodos get para
obtener los resultados de los parmetros tipo OUT.
System.out.println("Parametro OUT:"+cmdC.getInt(1));
try {
con = DriverManager.getConnection(
"jdbc:mysql://PROTECTYAPA-SERVER/aseguradora?"
+ "user=admin&password=admin");
cmd.setString(1, jTextField1.getText());
// Ejecutamos el comando
if (cmd.execute()) {
else{
System.out.println("No se retornaron filas");
}
otro
requerimiento
en
el Sofware de
try {
con = DriverManager.getConnection(
"jdbc:mysql://PROTECTYAPA-SERVER/aseguradora?"
+ "user=admin&password=admin");
CallableStatement cmd = con.prepareCall("{CALL sp_mejor_vendedor( ?, ?)} ");
// Ejecutamos el procedimiento
cmd.executeUpdate();
Bueno, sinceramente llevo poco tiempo trabajando con Java, aunque de a poco
estoy tomndole aprecio a este excelente lenguaje de programacin. S en
cambio llevo muchos aos trabajando en web, ms precisamente con PHP y
MySQL. En esta ocasin voy a explicar de forma muy resumida, los pasos a
seguir para conectar Java con MySQL.
Java puede conectarse a mltiples bases de datos, con la que mejor se lleva es
con Oracle, sin embargo en ocasiones puede ser que los que venimos de la
web, al tener la necesidad de hacer una aplicacin de escritorio, nos sintamos
ms acostumbrados con MySQL.
En primer lugar, para realizar este ejemplo debemos tener instalado tres cosas
en nuestro sistema:
MySQL (en mi caso yo tengo instalado Xampp que viene con Apache y
MySQL, entre otros servicios
Comencemos!
MySQL
En primer lugar vamos a crear una base de datos, a la cual yo
llamar: java_mysql. La mista tendr una sola tabla llamada tareas con el
siguiente cdigo:
CREATETABLEtareas(
id_tareaint(10)unsignednotnullauto_incrementprimarykey,
titulovarchar(50)notnull,
descripcionvarchar(255)notnull,
nivel_de_prioridadtinyint(1)notnull
);
Java
Vamos a abrir Netbeans y vamos a crear un nuevo proyecto, yendo a File ->
New Project -> Java -> Java Application.
Ahora, para conectar Java a MySQL tenemos que agregar un librera que se
encargar de hacer esa magia. As que dentro que pulsando botn derecho
sobre la carpeta Libraries, vamos a ir a Add Library
}
publicvoidsetDescripcion(Stringdescripcion){
this.descripcion=descripcion;
}
publicvoidsetNivel_de_prioridad(Integernivel_de_prioridad){
this.nivel_de_prioridad=nivel_de_prioridad;
}
@Override
publicStringtoString(){
return"Tarea{"+"id_tarea="+id_tarea+",titulo="+titulo+
",descripcion="+descripcion+",nivel_de_prioridad="+
nivel_de_prioridad+'}';
}
}
}catch(SQLExceptionex){
thrownewSQLException(ex);
}catch(ClassNotFoundExceptionex){
thrownewClassCastException(ex.getMessage());
}
}
returncnx;
}
publicstaticvoidcerrar()throwsSQLException{
if(cnx!=null){
cnx.close();
}
}
}
Para hacer las consultas con la base de datos, dentro del paquete servicios,
creamos una clase con el nombre: Tareas_servicio.java con el siguiente
cdigo:
packageservicios;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.ArrayList;
importjava.util.List;
importmodelos.Tarea;
publicclassTareas_servicio{
privatefinalStringtabla="tareas";
publicvoidguardar(Connectionconexion,Tareatarea)throws
SQLException{
try{
PreparedStatementconsulta;
if(tarea.getId_tarea()==null){
consulta=conexion.prepareStatement("INSERTINTO"+
this.tabla+"(titulo,descripcion,nivel_de_prioridad)
VALUES(?,?,?)");
consulta.setString(1,tarea.getTitulo());
consulta.setString(2,tarea.getDescripcion());
consulta.setInt(3,tarea.getNivel_de_prioridad());
}else{
consulta=conexion.prepareStatement("UPDATE"+this.tabla+
"SETtitulo=?,descripcion=?,nivel_de_prioridad=?WHEREid_tarea
=?");
consulta.setString(1,tarea.getTitulo());
consulta.setString(2,tarea.getDescripcion());
consulta.setInt(3,tarea.getNivel_de_prioridad());
consulta.setInt(4,tarea.getId_tarea());
}
consulta.executeUpdate();
}catch(SQLExceptionex){
thrownewSQLException(ex);
}
}
publicTarearecuperarPorId(Connectionconexion,intid_tarea)throws
SQLException{
Tareatarea=null;
try{
PreparedStatementconsulta=conexion.prepareStatement("SELECT
titulo,descripcion,nivel_de_prioridadFROM"+this.tabla+"WHERE
id_tarea=?");
consulta.setInt(1,id_tarea);
ResultSetresultado=consulta.executeQuery();
while(resultado.next()){
tarea=newTarea(id_tarea,resultado.getString("titulo"),
resultado.getString("descripcion"),
resultado.getInt("nivel_de_prioridad"));
}
}catch(SQLExceptionex){
thrownewSQLException(ex);
}
returntarea;
}
publicvoideliminar(Connectionconexion,Tareatarea)throws
SQLException{
try{
PreparedStatementconsulta=conexion.prepareStatement("DELETE
FROM"+this.tabla+"WHEREid_tarea=?");
consulta.setInt(1,tarea.getId_tarea());
consulta.executeUpdate();
}catch(SQLExceptionex){
thrownewSQLException(ex);
}
}
publicList<Tarea>recuperarTodas(Connectionconexion)throws
SQLException{
List<Tarea>tareas=newArrayList<>();
try{
PreparedStatementconsulta=conexion.prepareStatement("SELECT
id_tarea,titulo,descripcion,nivel_de_prioridadFROM"+this.tabla+"
ORDERBYnivel_de_prioridad");
ResultSetresultado=consulta.executeQuery();
while(resultado.next()){
tareas.add(newTarea(resultado.getInt("id_tarea"),
resultado.getString("titulo"),resultado.getString("descripcion"),
resultado.getInt("nivel_de_prioridad")));
}
}catch(SQLExceptionex){
thrownewSQLException(ex);
}
returntareas;
}
}
Esta clase cuenta con los mtodos capaces de realizar las distintas operaciones
en una tabla.
El mtodo guardar(), que recibir como parmetro una instancia de conexin
y un objetoTarea. Si el objeto tiene el valor de id nulo, va a hacer un insert, de
lo contrario un updateen el registro con dicho id.
El mtodo recuperarPorId(), recibir la conexin y un id, y nos devolver un
objeto Tareacorrespondiente a ese id, de lo contrario nos devolver un valor
null, en caso de que no encuentre ningn registro con ese id.
El mtodo eliminar() recibir un una instancia de conexin y el objeto Tarea
que debe eliminar.
Y finalmente recuperarTodas() tambin recibir una instancia de conexin y
nos devolver una lista con todas las tareas.
Bueno a continuacin dejo un ejemplo muy sencillo con interfaz grfica, para
verificar cmo queda.
Saludos!
@include Apache 2 Apache HTTP aviAWT Componentes Conector/J Conector J - MySQL Crystal
ReportCurso JSP Ejemplo Expresiones PHPFileZilla FTP Server Format HM NIS EditHola
Mundo IDE
BoxKENAI
Linux Mercury Mail Transport System MySQL MySQL 5.1 NetbeansNetbeans 6.5 NetBeans
6.7NetBeans 6.8
reservadas
JSP/SERVLETSJTextField JvDBSearchCombo
Microsystem
swingTButton
XAMPPXDEBUG
BLOGROLL
DELPHI
About.com
Club delphi
IDE
Eclipse IDE
NetBeans IDE
JAVA
GUJ (Mexico)
GUJ (Uruguay)
Java Hispano
java.net
JSP/SERVLETS
Eclipse + JSP
Recursos JSP
PHP
Manual PHP
Recursos PHP
PYTHON
SGBD
MySQL
PostgreSQL
VISITAS:
566,182 hits
META
Registrarse
Acceder
WordPress.com
buscar
6 Votes
En una entrada de los ltimos das hemos descargado el conector J para MySQL con la
finalizad de utilizar JDBC (Java Database Connectivity), es decir mysql-connector-java5.1.12.zip (3.8 M). En mi caso, he descomprimido el archivo en la carpeta de Netbeans 6.9 y
como resultado de la descompresin se obtenienen una serie de carpetas y archivos.
El ms significativo de todos los ficheros se corresponde con la librera denominada mysqlconnector-java-5.1.12-bin.jar. Ahora tenemos que dar de alta a esta librera en el IDE de
Netbeans para poder utilizar las diversas funciones de acceso y manipulacin de datos y
metadatos en MySQL.
Para ello, iniciamos una sesin de Netbeans 6.9 y seleccionamos del men principal
Herramientas y Bibliotecas, aparecer
pantalla o cuadro de dilogo en el hemos dado nombre a la biblioteca que vamos a incorporar.
Hemos llamado a esta biblioteca ConectorMySQL, si ahora hacemos Aceptar
Ahora con ayuda del botn Agregar archivo jar/Carpeta localizamos el archivo previamente
descargado y una vez descomprimido denominado
mysql-connector-java-5.1.12-bin.jar
Hacemos botn derecho en el nodo Libraries y aparecer una caja con tres opciones