Conectar Java Con MySQL en Netbeans - Fernando Gaitán
Conectar Java Con MySQL en Netbeans - Fernando Gaitán
Conectar Java Con MySQL en Netbeans - Fernando Gaitán
Fernando Gaitán
(https://www.facebook.com/Fernando-
(https://fernando-
(https://twitter.com/fernandoggaitan)
Gait%C3%A1n-
gaitan.com.ar/)
Desarrollador web
Desarrollo-
web-
(https://fernando-
216115379162851/)
gaitan.com.ar/)
Bueno, sinceramente llevo poco tiempo trabajando con Java, aunque de a poco estoy
tomándole aprecio a este excelente lenguaje de programación. Sí en cambio llevo
muchos años trabajando en web, más precisamente con PHP y MySQL. En esta
ocasión voy a explicar de forma muy resumida, los pasos a seguir para conectar Java
con MySQL.
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 1/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
Java puede conectarse a múltiples 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 aplicación de escritorio, nos sintamos más acostumbrados
con MySQL.
En primer lugar, para realizar este ejemplo debemos tener instalado tres cosas en
nuestro sistema:
¡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 código:
Java
Vamos a abrir Netbeans y vamos a crear un nuevo proyecto, yendo a File -> New
Project -> Java -> Java Application.
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 2/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
máquina.
Vamos a borrar todo lo que esté dentro de la carpeta source (o src) y dentro vamos a
crear dos paquetes, uno al que yo llamaré modelos y otro al que llamaré servicios.
Ahora, para conectar Java a MySQL tenemos que agregar un librería que se
encargará de hacer esa magia. Así que dentro que pulsando botón derecho sobre la
carpeta Libraries, vamos a ir a Add Library
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 3/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
(https://fernando-gaitan.com.ar/wp-content/uploads/java_mysql_captura_4.jpg)
Bueno, ya tenemos todo, no nos falta nada. Ya podemos empezar a escribir código
Java.
Dentro del paquete modelos, vamos a crear una clase, a la que yo llamaré Tarea.java,
con el siguiente código:
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 4/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
package modelos;
public class Tarea {
private final Integer id_tarea;
private String titulo;
private String descripcion;
private Integer nivel_de_prioridad;
public Tarea() {
this.id_tarea = null;
this.titulo = null;
this.descripcion = null;
this.nivel_de_prioridad = null;
}
public Tarea(Integer id_tarea, String titulo, String descripcion, Integer nivel_de_p
this.id_tarea = id_tarea;
this.titulo = titulo;
this.descripcion = descripcion;
this.nivel_de_prioridad = nivel_de_prioridad;
}
public Integer getId_tarea() {
return id_tarea;
}
public String getTitulo() {
return titulo;
}
public String getDescripcion() {
return descripcion;
}
public Integer getNivel_de_prioridad() {
return nivel_de_prioridad;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public void setNivel_de_prioridad(Integer nivel_de_prioridad) {
this.nivel_de_prioridad = nivel_de_prioridad;
}
@Override
public String toString() {
return "Tarea{" + "id_tarea=" + id_tarea + ", titulo=" + titulo + ", descripcion=
}
}
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 5/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
Bien, ahora creamos la clase que va a conectar nuestra aplicación con MySQL, yendo
al paquete servicios, vamos a crear una nueva clase llamada Conexion.java con el
siguiente código:
package servicios;
import java.sql.*;
public class Conexion {
private static Connection cnx = null;
public static Connection obtener() throws SQLException, ClassNotFoundException {
if (cnx == null) {
try {
Class.forName("com.mysql.jdbc.Driver");
cnx = DriverManager.getConnection("jdbc:mysql://localhost/java_mysql", "roo
} catch (SQLException ex) {
throw new SQLException(ex);
} catch (ClassNotFoundException ex) {
throw new ClassCastException(ex.getMessage());
}
}
return cnx;
}
public static void cerrar() throws SQLException {
if (cnx != null) {
cnx.close();
}
}
}
Esta clase tendrá un método estático llamado obtener(), el cual va a devolvernos una
instancia de conexión y de no haber una previa va crear una:
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 6/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
A su vez este método puede disparar dos excepciones, SQLException, si surge algún
Consultas
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 código:
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 7/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
package servicios;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import modelos.Tarea;
public class Tareas_servicio {
private final String tabla = "tareas";
public void guardar(Connection conexion, Tarea tarea) throws SQLException{
try{
PreparedStatement consulta;
if(tarea.getId_tarea() == null){
consulta = conexion.prepareStatement("INSERT INTO " + this.tabla + "(titulo
consulta.setString(1, tarea.getTitulo());
consulta.setString(2, tarea.getDescripcion());
consulta.setInt(3, tarea.getNivel_de_prioridad());
}else{
consulta = conexion.prepareStatement("UPDATE " + this.tabla + " SET titulo
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(SQLException ex){
throw new SQLException(ex);
}
}
public Tarea recuperarPorId(Connection conexion, int id_tarea) throws SQLException {
Tarea tarea = null;
try{
PreparedStatement consulta = conexion.prepareStatement("SELECT titulo, descrip
consulta.setInt(1, id_tarea);
ResultSet resultado = consulta.executeQuery();
while(resultado.next()){
tarea = new Tarea(id_tarea, resultado.getString("titulo"), resultado.getStr
}
}catch(SQLException ex){
throw new SQLException(ex);
}
return tarea;
}
public void eliminar(Connection conexion, Tarea tarea) throws SQLException{
try{
PreparedStatement consulta = conexion.prepareStatement("DELETE FROM " + this.t
consulta.setInt(1, tarea.getId_tarea());
consulta.executeUpdate();
}catch(SQLException ex){
throw new SQLException(ex);
}
}
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 8/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
Esta clase cuenta con los métodos capaces de realizar las distintas operaciones en
una tabla.
Bueno a continuación dejo un ejemplo muy sencillo con interfaz grá ca, para
veri car cómo queda.
Saludos!
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 9/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
(https://github.com/fernandoggaitan/conexion_java_mysql)
8
Me gusta
Compartir
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 10/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 11/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 12/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 13/14
1/4/2019 Conectar Java con MySQL en Netbeans – Fernando Gaitán
(https://creativecommons.org/licenses/by-nc/4.0/)
https://fernando-gaitan.com.ar/conectar-java-con-mysql-en-netbeans/ 14/14