Conocemos la forma de conectar mysql o alguna base de datos como lo es Sql Server, Oracle, PosgreSQL a java perousando lis driversManager una forma visual muy practica pero muy compleja a la hora de mandar la aplicacion a alguna otra computadora, para olvidarnos de esto y no tener un desorden de codificaciones visuales en el form crearemos una clase de conexcion, en ella realizaremos un metodos para la conexion y otros dos para hacer las consultas y operaciones de insert y update a la base de datos.
La Clase
para crear la clase de conexion en nuestra solucion damos clic en el boton de Agregar Archivo, o nos vamos a archivo una vez que nos aparesca la ventana de nuevo archivo escojemos la carpeta de Clases Java y el tipo de archivo Clase Java, una vez que nos ha creado la , empezamos bueno de esta seccion, la codificacion.
Codificacion:
Empezamos anexando la siguiente directiva que utilizaremos java.sql.*, esto nos permitira utilizar todos los componentes para la creacion de la conexion y otros metodos que utilizemos
Ejemplo:
Import java.sql.*
Metodo de conexion , para el metodo de conexcion para ello utilizaremos los siguientes componentes: Connection, Statement y ResultSet, a continuacion generamos el metodo o en este caso el constructor de la clase.
public Conexion() {
try
{
Class.forName(”com.mysql.jdbc.Driver”);
String url = “jdbc:mysql://localhost:3306/bdpruebrasjava”;
cn= DriverManager.getConnection( url, “root”, “123456″ );
}
catch(Exception ee)
{
System.out.println(”Error: ” + ee.getMessage());
}
}
Sis e observa detenidamente, se utiliza una variable string denominada url, que sera la direccion de nuestra base de datos, la primera linea nos crea la informacion del driver de conexion y por ultimo se genera dicha conexion usando la variable “cn” y asignandole los parametros de ruta de la base de datos,usuario y contraseña.
Metodos Auxiliares
Acontinuacion crearemos los metodos para generar los insert, update y deletes de los registros de la base de datos.
public String Ejecutar(String sql)
{
String error=”";
try
{
St=Conec.createStatement();
St.execute(sql);
}
catch(Exception ex)
{
error = ex.getMessage();
}
return(error);
}
El St es nuestro Statemen el cual generara el comando de ejecucion, para ello todo este comando lo mandamos en el parametro sql, la funcion es de tipo string, por ello se regresa la variable de tipo string error la cual contendra el error que pueda optenerce en el proceso de insert o update,o en su caso no traer nada debido a que la accion fue exitosa.
Por ultimo creamos el metodo para ejecutar consultas para ello utilizaremos un componente llamado ResultSet.
public ResultSet Consulta(String sql)
{
String error=”";
try
{
St=Conec.createStatement();
reg=St.executeQuery(sql);
}
catch(Exception ee)
{
error = ee.getMessage();
}
return(reg);
}
Dentro de esta funcion volvemos a encontrar a nuestro Statement por lo anteriormente mencionado sera nuestro ejecutor de comandos del parametro sql el cual tendra como valor la consulta que deseamos ejecutar.
Conclusion:
Todas la variables de conexion (cn), Statement (St) y ResultSet(reg) fueron declaradas fuera de todos los metodos, es decir son globales y pueden verse en toda la clase no importa en que proceso lo utilizemos, y para saldar la duda, anteriormente dije que todos estos son metodos, asi es pero por que ejecutar y consulta los llame funciones, es sencillo recordemos algo de teoria, toda funcion retorna un valor es por ello que se le llama funciones a ejecutar y a consulta por que regresan el valor de la variable error y reg respectivamente.
Uso
Para terminar esta entrada, les dejo la forma de utilizar esta clase.
//Instanciamos la clase de conexion
Conexion cxn = new Conexcion();
//Generamos un insert en la tabla de clientes usando el metodo ejecutar de la clase conexion
string msg =
cxn.Ejecutar(”INSERT INTO tpjclientes (nombre,apellidos) VALUES (’Juan’,'Perez’);
//Generamos un select a la tabla de clientes, el resultado caera en resultset
ResultSet = cxn.Consulta(”SELECT * FROM tpjclientes”);
NOTA IMPORTANTE: Las funciones o metodos utilizados, regresan un tipo de datos o componente especifico, es por ello que en ejecutar el resultado lo guardo en eun string y en consulta lo guardo en n ResultSet, ademas hay que resaltar algo, java obliga a los usuarioa utilizar el clasico catch y try para manejar correctamente las exepciones que puedan existir dentro de la llamada al metodo, eso es todo por el dia de hoy espero les sea de gran utilidad este codigo, dejen sus comentarion y/o sugerencias de que desean ver sobre tecnologia en el blog.
Comentarios
Mil gracias por la atencion y su prontísima respuesta.