lunes, 21 de mayo de 2007

¡ rápido con groovy ! Conéctese a la base de datos

el prerequisito...

Primero debe tener instaladas las librerías de conectividad JDBC para el sistema de base de datos remoto o local que va a utilizar. Para el caso de MySql, he instalado la librería correspondiente en el directorio:

C:\JAVALIBS\mysql-connector

el archivo "jar" que nos interesa es

mysql-connector-java-3.1.7-bin.jar

la localización de esta librería debe estar especificada en la variable de entorno CLASSPATH que sirve para proveer la lista de librerías Java disponibles en su entorno separadas por punto y comas. Asegúrese que se encuentre el archivo en mención, si no entonces colóquelo al final de la lista

... ; ... ; ... ; C:\JAVALIBS\mysql-connector\mysql-connector-java-3.1.7-bin.jar

está listo para conectarse a MySql desde groovy !

El siguiente código es suficiente para lograr la conexión a la base de datos

Conexión rápida a MySql

  1   import groovy.sql.Sql
  2 
  3   def url = 'jdbc:mysql://localhost:3306/mySql'
  4   def user = 'root'
  5   def password = 'admin'
  6   def driver = 'com.mysql.jdbc.Driver'
  7   def db = Sql.newInstance(url,user,password,driver)
  • url especifica el protocolo JDBC, la base de datos mysql, el servidor localhost, el puerto IP de comunicaciones 3306} y la base de datos mySql
  • User es el usuario definido para lase de datos
  • password es la clave de ingreso autorizada para el servidor y la base de datos especificada en el URL.
  • El driver hace referencia a la librería utilizada

La variable db sostendrá la conexión luego de ejecutarse el método Sql.newInstance. Con esta conexión se podrían ejecutar sentencias DDL como crear una base de datos, cambiar la base de datos activa, crear una tabla, etc. mediante el método execute. Con el método eachRow se pueden hacer consultas SQL así como otras operaciones.

  1 
  2   // crea una base de datos
  3   db.execute "create database myDB"
  4 
  5   // cambia de base de datos activa
  6   db.execute "use myDB"
  7 
  8   // realiza una consulta SQL
  9   db.eachRow("SELECT * FROM ....") { }
 10 
 11   // cierra la conexión
 12   db.close()

El problema es que el código de conectividad expuesto no está parametrizado y no es reutilizable, por lo tanto necesitamos... "encapsular" la conectividad

MIL DISCULPAS, el blog original estubo tan laaaaargo que debí cortarlo.

No hay comentarios: