Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *@author Codemonkey Junior Blogspot
- *@description Usode JDBI en Groovy
- */
- //importamos la librería JDBI con @Grapes, @Grab
- @Grapes(
- @Grab(group='org.jdbi', module='jdbi', version='2.77')
- )
- //importamos y cargamos el conector MySQL
- @GrabConfig(systemClassLoader=true)
- @Grab(group='mysql', module='mysql-connector-java', version='5.1.6')
- 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.*;
- //Clase principal del programa
- class JDBIGroovy{
- static main(args) {
- println "Iniciando ..."
- DBI dbi = new DBI("jdbc:mysql://localhost:3306/test",
- "root",
- "5432");
- println "Abriendo conexion ..."
- Handle h = dbi.open();
- println "Abierto ..."
- if(!dbi.open().isInTransaction()){
- println "No esta realizando alguna transaccion";
- }
- PersonajeDAO pers=null;
- try{
- pers=dbi.open(PersonajeDAO.class);
- if(pers.verTodo().size() > 0){
- println "Lista de persona llena!!: "+pers.verTodo().size();
- println " "+pers.verTodo().toString() != "[null, null, null]" ? "llena" : "vacia";
- //Mostramos todos los resultados
- for(int i=0 ; i < pers.verTodo().size(); i++){
- println "id:"+pers.verTodo().get(i).personaje_id;
- println "nombre:"+pers.verTodo().get(i).nombre;
- println "apellido paterno:"+pers.verTodo().get(i).apellidos;
- println "apellido materno:"+pers.verTodo().get(i).biografia;
- }
- }
- }catch(Exception ex){
- println "Error: "+ex.toString()
- //ex.printStackTrace();
- }finally{
- pers.close();
- }
- h.close();
- }
- }
- //Podemos seguir programando al estilo Java, pero también se puede hacer al estilo Groovy
- //Esta es la clase que representa a la tabla personaje
- class ModeloPersonaje implements java.io.Serializable{
- private static final long serialVersionUID=1L;
- private int personaje_id;
- private String nombre;
- private String apellidos;
- private String biografia;
- public ModeloPersonaje(){}
- public void setPersonaje_Id(int personaje_id){
- this.personaje_id=personaje_id;
- }
- public int getPersonaje_Id(){
- return personaje_id;
- }
- public void setNombre(String nombre){
- this.nombre=nombre;
- }
- public String getNombre(){
- return nombre;
- }
- public void setApellidos(String apellidos){
- this.apellidos=apellidos;
- }
- public String getApellidos(){
- return apellidos;
- }
- public void setBiografia(String biografia){
- this.biografia=biografia;
- }
- public String getBiografia(){
- return biografia;
- }
- }
- //Aquí seteamos los valores obtenidos en la consulta
- class ModeloPersonajeMapper implements ResultSetMapper<ModeloPersonaje> {
- @Override
- public ModeloPersonaje map(int arg0, ResultSet r, StatementContext arg2) throws SQLException {
- ModeloPersonaje mpersonaje=new ModeloPersonaje();
- mpersonaje.setPersonaje_Id(r.getInt("personaje_id"));
- mpersonaje.setNombre(r.getString("nombre"));
- mpersonaje.setApellidos(r.getString("apellidos"));
- mpersonaje.setBiografia(r.getString("biografia"));
- return mpersonaje;
- }
- }
- //Esta clase es donde se ejecutan las consultas SQL
- @RegisterMapper(ModeloPersonajeMapper.class)
- public interface PersonajeDAO {
- @SqlQuery("SELECT test.personaje.personaje_id, test.personaje.nombre, test.personaje.apellidos, test.personaje.biografia FROM test.personaje WHERE test.personaje.personaje_id = :id")
- ModeloPersonaje findById(@Bind("personaje_id") id);
- @SqlQuery("SELECT test.personaje.personaje_id, test.personaje.nombre, test.personaje.apellidos, test.personaje.biografia FROM test.personaje")
- List<ModeloPersonaje> verTodo();
- void close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement