Jaiberdroid, un ORM para Android

He iniciado un nuevo proyecto llamado Jaiberdroid que es un motor de persistencia para el trabajo con SQLite en Android.

De momento está en una fase muy temprana de desarrollo, y hay parte de conexión con SQLite metida “a pelo” para hacer pruebas de forma rápida. Para que veáis un ejemplo de su funcionamiento, tan sólo necesitaríamos declarar las clases que serán las entidades y las clases de consultas. Las clases de entidades serán la representación de una tabla de base de datos, mientras que las de consulta nos permitirán, como su nombre indica realizar las diferentes consultas a base de datos.

Una clase de entidad tendría el siguiente formato:

@Table(name = "product")
public class Product {
  @Column(primary = true, nullable = false)
  private int _id;
  @Column(nullable = false, unique = true)
  private String name;
  @Column(nullable = false)
  private float price;
  @Column()
  private String description;
  ...
}

Como se puede observar, tan sólo tenemos que poner una etiqueta Table a nuestra clase, y luego etiquetas Column a cada atributo, además, lo más importante es tener métodos set de cada elemento. Ahora veamos como serán las clases Query:

public class ProductQuery extends GenericQuery<Product> {
  /**
   * Default constructor.
   * @throws SqliteException 
   */
  public ProductQuery() throws SqliteException {
    super();
  }
  ...
}

En este caso es más sencillo. Con simplemente heredar de la clase GenericQuery, ya es posible realizar las consultas de creación y eliminación de tabla, obtención de todos los datos, obtención de filas por id, inserción y actualización de elementos, comprobación de que un elemento existe, obtención del número de filas de la tabla, borrado de uno y de todos los elementos.

Como se ha visto, con poco código es posible tener una funcionalidad completa.

Podéis seguir los cambios en GitHub: https://github.com/jafs/jaiberdroid. Según avance el proyecto podréis ir viendo descargas y actualizaciones aquí.

También te podría gustar...

3 Respuestas

  1. Matisnow dice:

    Muy interesante el proyecto y muy util!

  2. Roldan dice:

    Excelente amigo!
    Felicidades por este codigo que haces.
    Ahi te paso mi correo por si necesitas ayuda.
    Dios te bendiga.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

El tiempo límite ha expirado. Por favor, recarga el CAPTCHA.