Está en la página 1de 9

UNIVERSIDAD POLITCNICA ESTATAL DEL CARCHI

FACULTAD DE INDUSTRIAS AGROPECUARIAS Y CIENCIAS AMBIENTALES

ESCUELA DE INGENIERA EN INFORMTICA

Tema: Cdigo de Conexin y Consulta de una base de Datos a Java Nethbeans

Mdulo de Lenguajes de Programacin


CUARTO NIVEL
AUTORA: Yuly Estefana Pantoja Mio.
DOCENTE: Msc Jeffrey Naranjo.

TULCN - ECUADOR
AO: 2016

ndice
Introduccin.......................................................................................................... 2
Desarrollo............................................................................................................. 3
Crear el proyecto de NetBeans...............................................................................3
Establecer la conexin a la base de datos..................................................................3
Ejecutar sentencias en la base de datos....................................................................5
Realizar consultas a la base de datos.......................................................................7
Probar el funcionamiento..................................................................................... 8
Bibliografa........................................................................................................... 9

Introduccin
En este artculo prcticamente me copio y pego para explicar paso a paso cmo realizar la conexin
a MySQL en Java, as como la forma de realizar consultas a los registros existentes y ejecutar sentencias
de insercin, borrado y actualizacin de datos.

Desarrollo
Crear el proyecto de NetBeans
Para crear el proyecto basta con dar clic en el botn de'Nuevo Proyecto' o ir al
men Archivo -> Nuevo Proyecto.
Al proyecto le titularemos MySQLBD, aunque solo es un nombre sugerido ya que no
afecta en lo ms mnimo con el comportamiento del programa. Una vez creado el proyecto
el IDE nos posicionar en la clase principal del mismo y crear por s solo el
mtodo main desde el cual ejecutaremos todos nuestros procedimientos.
Establecer la conexin a la base de datos
Lo primero que vamos a hacer es importar las clases y/o paquetes que vamos a utilizar (los
llamados imports), en este caso solamente ser el que se muestra a continuacin:
1

import java.sql.*;

Posteriormente

dentro

de

la

clase

declararemos

una

variable

privada

de

tipo Connection que ser la que contendr la conexin con la base de datos:
1
2
3
4

public class MySQLBD {


private Connection conexion;
.
.

Para organizar el cdigo crearemos el get y set de conexion adems del mtodo
llamadoconectar() el cual se encargar de establecer a la conexin con la base de datos
para que posteriormente podamos realizar los procedimientos que necesitamos. Dentro del
mtodo encerraremos la mayor parte del cdigo dentro de un try-catch con el fin de
capturar las excepciones que se puedan originar tras la ejecucin del mismo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

public Connection getConexion() {


return conexion;
}
public void setConexion(Connection conexion) {
this.conexion = conexion;
}
public MySQLBD conectar() {
try {
.
.
.
} catch (Exception e) {
e.printStackTrace();
}
return this;
}

(Monillo007, 2007)Como puedes ver, el mtodo devuelve una instancia de la


clase MySQLBD (es decir, la misma que lo contiene), esto con el fin de poder encadenar
los siguientes mtodos que necesitaremos y ahorrarnos una lnea de cdigo.
Ahora bien, dentro del try-catch lo primero que realizaremos ser cargar el driver en la
memoria y posteriormente crear una cadena con la URL de conexin a la base de datos
como se muestra en el siguiente cdigo:
1
2
3

Class.forName("com.mysql.jdbc.Driver");
String BaseDeDatos = "jdbc:mysql://localhost/test?user=usuario&password=123";

En la URL de la conexin debes tomar en cuenta que:

localhost indica el host o la IP del servidor Oracle.

test es la base de datos.

user es el usuario con el que te vas a conectar.

password es la contrasea.

En este momento lo nico que nos falta para crear la conexin es llamar al
mtodogetConnection() del driver de la siguiente manera:
1

setConexion(DriverManager.getConnection(BaseDeDatos));

Puedes validar si la conexin se realiz correctamente verificando si la variable es nula:


1
2
3
4
5
6

if (conexion != null) {
System.out.println("Conexion exitosa!");
} else {
System.out.println("Conexion fallida!");
}

El mtodo completo entonces quedara de la siguiente manera:

1
2
3
public MySQLBD conectar() {
try {
4
Class.forName("com.mysql.jdbc.Driver");
5
String BaseDeDatos = "jdbc:mysql://localhost/test?user=usuario&password
6
setConexion(DriverManager.getConnection(BaseDeDatos));
7
if(getConexion() != null){
8
System.out.println("Conexion Exitosa!");
}else{
9
System.out.println("Conexion Fallida!");
10
}
11
} catch (Exception e) {
12
e.printStackTrace();
13
}
return this;
14
}
15
16
Ejecutar sentencias en la base de datos
Ya que hemos realizado la conexin a la base de datos podemos trabajar con ella por lo
cual crearemos un mtodo a partir del cual ejecutaremos las sentencias ms comunes
que no nos devuelven resultados como INSERT, UPDATE, DELETE, etc.

Vamos a definir el mtodo para que sea pblico y nos devuelva un valor booleano, true si
se ejecuta la consulta correctamente, false si no. A su vez recibir una cadena que
contendr la consulta SQL a ejecutar.
1
2
3
4
5

public boolean ejecutar(String sql) {


.
.
.
}

Posteriormente, igual como lo hicimos en el mtodo anterior, vamos a encerrar


prcticamente todo el comportamiento dentro de try-catch.
1
2
3
4
5
6
7
8
9
10
11
12

public boolean ejecutar(String sql) {


try {
.
.
.
} catch (SQLException e) {
e.printStackTrace();
return false;
}
return true;
}

Ahora definimos un objeto tipo Statement que nos ayudar a ejecutar la consulta de la
siguiente manera:
1
2
3

Statement sentencia = getConexion().createStatement(ResultSet.TYPE_FORWARD_ONLY,


ResultSet.CONCUR_READ_ONLY);
sentencia.executeUpdate(sql);

Por ltimo cerramos la sentencia para liberar recursos:


1

sentencia.close();

En el caso de que se presente una excepcin daremos por hecho que no se realiz la
ejecucin correctamente, por lo tanto, slo en ese caso retornaremos false.
El mtodo completo luce de la siguiente manera:

1
public boolean ejecutar(String sql) {
2
try {
Statement sentencia = getConexion().createStatement(ResultSet.TYPE_FORW
3
ResultSet.CONCUR_READ_ONLY);
4
sentencia.executeUpdate(sql);
5
sentencia.close();
6
} catch (SQLException e) {
7
e.printStackTrace();
return false;
8
}
return true;
9
}
10
Realizar consultas a la base de datos
Lo nico que nos falta es consultar a la base de datos (SELECT) lo cual haremos
igualmente mediante un mtodo pblico que nos devuelva un objeto de tipo ResultSet e
igualmente recibir una cadena que contendr una consulta SQL a realizar.
1
2
3
4
5
6

public ResultSet consultar(String sql) {


.
.
.
}

Lo primero que vamos a agregar es una declaracin del objeto de tipo ResultSet y
posteriormente encerraremos la ejecucin dentro de un try-catch para capturar las
excepciones que se puedan generar.
1
2
3
4
5
6
7
8
9

public ResultSet consultar(String sql) {


ResultSet resultado = null;
try {
} catch (SQLException e) {
e.printStackTrace();
return null;
}
return resultado;<
}

De igual manera nos apoyaremos de un objeto de tipo Statement para poder realizar la
consulta.
1
2

Statement sentencia = getConexion().createStatement(ResultSet.TYPE_FORWARD_ONLY,


ResultSet.CONCUR_READ_ONLY);

Obtenemos

el

mapa

de

resultados

travs

del

mtodo executeQuery() del

objeto Statement y posteriormente llamamos al mtodo commit() de la conexin para


asegurarnos que la consulta se est realizando.
1
2
3

resultado = sentencia.executeQuery(sql);
getConexion().commit();

En el caso de que se presente una excepcin daremos por hecho que no se realiz la
consulta correctamente, por lo tanto, slo en ese caso retornaremos null.
El mtodo completo se ve de la siguiente manera:
1
2
3
4
5
6
7
8
9
10

public ResultSet consultar(String sql) {


ResultSet resultado;
try {
Statement sentencia = getConexion().createStatement(ResultSet.TYPE_FORW
ResultSet.CONCUR_READ_ONLY);
resultado = sentencia.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
return resultado;
}

Con esto tenemos completa nuestra clase que se encargar de realizar la conexin, consulta
y ejecucin de sentencias en la base de datos Oracle.

Probar el funcionamiento
Para verificar que todo funciona bien podemos crear una tabla en la base de datos de
nombreTEST con

2, IDENTIFICADOR de

tipo INTEGER y DESCRIPCION de

tipo VARCHARy ejecutar lo siguiente dentro del mtodo main:

1
2 public static void main(String[] args) {
3
MySQLBD baseDatos = new MySQLBD().conectar();
4
5
if (baseDatos.ejecutar("INSERT INTO TEST(IDENTIFICADOR,DESCRIPCION) VALUES(3,
System.out.println("Ejecucin correcta!");
6
}
else
{
7
System.out.println("Ocurri un problema al ejecutar!");
8
}
ResultSet resultados = baseDatos.consultar("SELECT * FROM TEST");
9
try {
System.out.println("IDENTIFICADOR
DESCRIPCION");
10
System.out.println("--------------------------------");
11
while (resultados.next()) {
12
System.out.println(""+resultados.getBigDecimal("IDENTIFICADOR")+"
13
}
14
} catch (Exception e) {
e.printStackTrace();
15
}
16
}
17
}
18
19

Bibliografa
Monillo007. (23 de Febrero de 2007). MSQL & Java. Obtenido de
Ejecucin,Consulta y Conexin:
http://monillo007.blogspot.com/2012/04/conexion-consulta-y-ejecucionde_19.html

También podría gustarte