Lamento no estar actualizando el blog como de costumbre pero la verdad es que esta semana es una semana de mier**, pero bueno, googleando veo que mucha gente todavia no sabe como conectar javafx con mysql , pero la verdad es muy sencillo y es casi igual que como lo hice cuando escribi el post de conectar java con mysql. Por cierto es necesario que vean ese post porque sino no van a entender este :P

Voy a explicar algunas cosas y luego vemos el codigo. Lo primero es que para el ejemplo usare una tabla sencilla llamada “Todos” en una base de datos llamada “clientes”. La tabla solo tiene 2 campos:

id es campo clave y autoincremental y task un varchar cualquiera.

screenshot_001 En este primer ejemplo haremos algo muy sencillo y poco util :) ya que nuestro ejemplo lo unico que hara es conectarse a la base de datos, insertar algun valor y luego mostrar todos los registros de la tabla…pero en la consola :P por eso decia que es poco util.

En la proxima entrega les mostrare como hacer lo mismo pero ya con una interface grafica mas decente. Y antes de empezar les vuelvo a repetir que es mejor que vean el post de como conectar java con mysql porque sino no van a entender este.


Veamos el codigo:

[java highlight=“28,31”] import javafx.stage.Stage; import javafx.scene.Scene; import java.lang.String; import java.sql.; import java.lang.; import java.lang.System; import java.sql.DriverManager;

/** * @author sefsinalas */ var nombre= “clientes”; var user= “root”; var password= “su_password”; var jdbcUrl=“jdbc:mysql://localhost/{nombre}"; var driverClassName = “com.mysql.jdbc.Connection”;

// Database objects var driver:Driver = null; var conn :Connection = null; var stmt :Statement = null; var rs :ResultSet = null;

var rows :Number;

try { // Load driver Class.forName(driverClassName); try { // Conectar a la base de datos conn = DriverManager.getConnection(jdbcUrl, user, password); stmt = conn.createStatement();

// Insertar registro rows = stmt.executeUpdate(“reemplazar por la sentencia de Insercion”); System.out.println(“Insertadas {rows} filas”);

// Select and print tasks rs = stmt.executeQuery(“reemplazar por la consulta”); while(rs.next()) { System.out.println(“id: {rs.getInt(‘id’)} task: {rs.getString(‘task’)}"); } } catch(e:SQLException) { e.printStackTrace(); } finally { if(null != rs){rs.close();} if(null != stmt) {stmt.close();} if(null != conn){conn.close();} }// finally } catch(e:Exception) { e.printStackTrace(); } Stage { title: “JavaFx y MySQL” width: 250 height: 80 scene: Scene { content: [ ] } } [/java]

Si se fijan en la ultima parte (Stage y Scene) no hay nada, pues como ya dije solo mostraremos los datos en modo consola.

Bueno como veran la primera parte son solo imports que si usan Netbeans se colocan automaticamente. La segunda parte son solo los datos de acceso a la base de datos, la direccion con la que jdbc se conectara a la base de datos y el tipo de driver que usaremos para conectarnos, en nuestro caso es el de MySQL, que repito, para importar esa libreria deben leer el post como conectar java y mysql.

Luego de eso inicializamos unas cuantas variables a null, estas variables son las usadas para manejarnos con la base de datos. Connection y Driver seran para conectarnos, Statement sera para ejecutar sentencias y ResultSet para hacer consultas.

Veran que he remarcado en verde las mismas sentencias que usamos en el post de como conectar java y mysql , son las que usamos para hacer la conexion a la base de datos.

Para insertar datos primero creamos el objeto que nos servira a tal proposito (linea 32) y luego ejecutamos las sentencias que deseemos, por ejemplo la de la linea 35.

Para hacer una consulta hacemos un executeQuery como el de la linea 39 y para recorrer todos los registros que nos da el resultado de ese Query hacemos un while como el de la linea 40.

Y si se preguntan porque esto todo dentro de un try-catch…eso ya lo explique en el otro post: java nos obliga a hacerlo asi, para evitar que hagamos las cosas mal. Como veran en la linea 45 esta el finaly donde cierro todas las conexiones en el orden debido.

Entonces ahora solo ejecuten y cada vez que lo hagan se insertara un registro y luego en la consola se mostraran todos los registros de la tabla.

En la proxima entrega haremos que esto sea mas util, crearemos una clase para faciltiranos la vida y crearemos una interfaz grafica sencilla. Saludos y espero que les sirva :)