domingo, 9 de abril de 2017

JDBI con Groovy (2)

En esta ocasión veremos un ejemplo del uso de JDBI con Groovy.
  1. Una clase principal llamada Dao.groovy
  2. Una interface llamada MyDAO
 MyDAO contendrá los método necesarios para crear una tabla, insertar valores, buscar un registro mediante su id y ,por último un método para cerrar.

El código viene de la página oficial de JDBI. Espero les sirva.



/**
*
*@author Codemonkey Junior
*/
//compilar: groovyc Dao.groovy
//ejecutar: groovy Dao.groovy
@Grapes(
@Grab(group='org.jdbi', module='jdbi', version='2.77')
)
@GrabConfig(systemClassLoader=true)
@Grab(group='mysql', module='mysql-connector-java', version='5.1.26')
import java.sql.ResultSet;
import java.sql.SQLException;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.skife.jdbi.v2.sqlobject.customizers.RegisterMapper;
import org.skife.jdbi.v2.DBI;
import org.skife.jdbi.v2.Handle;
import org.skife.jdbi.v2.tweak.*;
import org.skife.jdbi.v2.*;
import org.skife.jdbi.v2.util.*;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.GetGeneratedKeys;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.skife.jdbi.v2.sqlobject.SqlUpdate;
class Dao{
static main(args) {
DBI dbi = new DBI("jdbc:mysql://localhost:3306/test",
"root",
"5432");
MyDAO dao = dbi.open(MyDAO.class);
String name=null
try {
dao.createSomethingTable();
println "Tabla creada"
dao.insert(1, "Ariel");
println "Datos insertados"
name = dao.findNameById(1);
println "Hola $name"
//assertThat(name, equalTo("Ariel"));
}
catch(Exception e) {
println "Error: "+e.toString()
}
dao.close();
}
}
interface MyDAO {
@SqlUpdate("create table prueba (id int primary key, name varchar(100))")
void createSomethingTable();
@SqlUpdate("insert into prueba (id, name) values (:id, :name)")
void insert(@Bind("id") int id, @Bind("name") String name);
@SqlQuery("select name from prueba where id = :id")
String findNameById(@Bind("id") int id);
void close();
}
view raw Dao.groovy hosted with ❤ by GitHub

No hay comentarios:

Publicar un comentario