Les habia dicho que en esta parte del tuto ibamos a ver como hacer una interfaz grafica para la conexion entre javafx y mysql (releer o no van a entender este)….pues menti :P

Antes de ver eso primero vamos a ver como facilitarnos un poco la vida usando una clase para nuestra conexion. Esto nos servira para poder olvidarnos un poco del codigo y hacer una clase reutilizable. Y de paso ven un poco de como usar clases y funciones en javafx :)

Lo primero sera crear un nuevo proyecto en nuestro NetBeans, yo le he llamado tablesjavafx, dentro de “Source Package” veran un paquete llamado igual que el nombre del proyecto, le hacemos click derecho->New->JavaFX Class y nos aparecera una ventana para crear la nueva clase, yo la he llamado “Database” y click en Finalizar. Al final les deberia quedar algo asi:

screenshot_003

Veran que en las Libraries tambien esta el driver del MySQL, si leyeron el capitulo 6 de este tuto entonces eso ya saben como importarla. Y tambien estamos usando la misma base de datos del capitulo 6.


Lo que va dentro de la clase Database.fx se los dejo en este zip ya que wordpress no me deja pegarlo aqui :(

Como veran es una clase super sencilla pero que nos sera muy util. Tiene 4 funciones:

  • connect: necesito explicar lo que hace?
  • shutdown: cierra las conexiones.
  • ejecutar: es para ejecutar consultas que modifiquen la base de datos(insercion, actualizacion, etc). Como ven nos devuelve un tipo Number con la cantidad de filas afectadas.
  • consultar: es para hacer consultas de seleccion. Nos devolvera un ResultSet con el resultado de nuestra consulta.

Ahora veamos un ejemplo de como usar esta clase. Nos volvemos a Main, lo primero sera declarar algunas variables e inicializamos la clase que ya habiamos creado:

[java]

var db : Database = null; var rs : ResultSet = null; var rows: Number; db = Database{driverName: ‘com.mysql.jdbc.Connection’ jdbcUrl : ‘jdbc:mysql://localhost/clientes’ user : ‘root’ password : ‘songoku’};

[/java]

Y aqui algunos ejemplos de como usar las funciones que definimos en la clase Database (obviamente todo va dentro de un try-catch):

[java]

//nos conectamos db.connect(); //hacemos una insercion rows=db.ejecutar(“consulta de insercion, modificacion, etc”); System.out.println(“Insertadas {rows} filas”);

//probamos una consulta rs=db.consultar(“consulta de seleccion”); while(rs.next()) { System.out.println(“id: {rs.getInt(‘id’)} task: {rs.getString(‘task’)}"); }

//cerramos la conexion db.shutdown();

[/java]

No voy a explicar mucho porque son cosas que ya vimos, pero lo que hace es:

  1. conectarse a la base de datos
  2. una consulta de insercion o modificacion
  3. una consulta de seleccion
  4. cerrar las conexiones

Todo lo que hace es usar las funciones de la clase de la forma db.connect() donde db es el nombre con el cual inicializamos la clase mas arriba.

La idea de este post fue que aprendan a hacer una clase reutilizable para sus proyectos, en este caso fue la de conexion entre mysql y javafx pero puede ser de cualquier otra cosa. Y ahora si, prometo que en el proximo vemos como hacer todo pero con interfaz grafica :)

PD: nadie me dice ni siquiera “perro que buenos esta el tuto” o ni lo contrario :P