El primer paso consiste en crear un proyecto Java en NetBeans: File | New Project...

En Categorías se selecciona Java y en Proyectos Java Application, a continuación se presiona Next.

Al completar el asistente se habrá creado un proyecto vacío; se procede a crear un paquete java, se da click derecho sobre el nodo principal del proyecto New | Java Package, en el asistente se asigna el nombre org.ejemplo

Dentro del paquete se crea un Script Groovy, para ello se da click derecho sobre el nodo principal del proyecto New | Other..., en la primera ventana del asistente se selecciona Groovy en Categorías y Groovy Script en Proyectos.

Al finalizar el asistente el nuevo script se habra creado con la siguiente estructura:
package org.ejemplo
def name='edisson'
println "Hello $name!"
def name='edisson'
println "Hello $name!"
Se crea un usuario que tenga acceso a la base de datos sakila, como root en MySQL se crea al usuario groovy:
mysql> grant all on sakila.* to 'groovy' IDENTIFIED BY 'groovy';
Ahora se modifica el script GroovySQL de la siguiente manera:
package org.ejemplo
import groovy.sql.Sql
sql = Sql.newInstance("jdbc:mysql://localhost:3306/sakila", // URL
"groovy", // Usuario
"groovy", // Contraseña
"com.mysql.jdbc.Driver") // Driver de MySQL
println "id \t nombre"
sql.eachRow("select * from category", {
println it.category_id + "\t" + it.name }
);
import groovy.sql.Sql
sql = Sql.newInstance("jdbc:mysql://localhost:3306/sakila", // URL
"groovy", // Usuario
"groovy", // Contraseña
"com.mysql.jdbc.Driver") // Driver de MySQL
println "id \t nombre"
sql.eachRow("select * from category", {
println it.category_id + "\t" + it.name }
);
En las creación de la instancia del objeto Sql, se hace referencia al driver MySQL, para agregarlo al proyecto se da click derecho en el nodo de Libraries y se selecciona Add Library.


Al adicionar el driver de MySQL se procede a ejecutar el script, se obtendrá una salida similar a:

Además de seleccionar datos se puede realizar otras operaciones DML, en el caso de la inserción de datos se la puede realizar utilizando:
categoria = "Groovy"
sql.execute("insert into category (name) values ('${categoria}')")
sql.execute("insert into category (name) values ('${categoria}')")
Ejecutando esta sentencia se realizará la inserción de datos pero se nos mostrará una advertencia de seguridad similar a ésta:
ADVERTENCIA: In Groovy SQL please do not use quotes around dynamic expressions (which start with $) as this means we cannot use a JDBC PreparedStatement and so is a security hole. Groovy has worked around your mistake but the security hole is still there. The expression so far is: insert into category (name) values ('?')
Esta advertencia nos sugiere utilizar un modelo similar a PreparedStatement, la sentencia anterior de inserción debería ser realizada de la siguiente forma:
categoria = "Groovy"
sql.execute("insert into category (name) values (?)", [categoria])
sql.execute("insert into category (name) values (?)", [categoria])
La actualización de datos posee una sintaxis similar:
categoria = "Actualización Groovy"
sql.executeUpdate("update category set name = ? where category_id = 17", [categoria])
sql.executeUpdate("update category set name = ? where category_id = 17", [categoria])
Por último, la eliminación de datos es similar a las dos sentencias anteriores:
sql.execute("delete from category where category_id = ?",[17])
No hay comentarios.:
Publicar un comentario