Android Démarrer avec GreenDao v3.X


Exemple

Après avoir ajouté la dépendance à la bibliothèque GreenDao et le plug-in Gradle, vous devez d'abord créer un objet entité.

Entité

Une entité est un objet POJO ( Plain Old Java Object ) qui modélise certaines données dans la base de données. GreenDao utilisera cette classe pour créer une table dans la base de données SQLite et générer automatiquement des classes d'assistance que nous pouvons utiliser pour accéder et stocker des données sans avoir à écrire d'instructions SQL.

@Entity
public class Users {

    @Id(autoincrement = true)
    private Long id;

    private String firstname;
    private String lastname;

    @Unique
    private String email;

    // Getters and setters for the fields...

}

Configuration unique de GreenDao

Chaque fois qu'une application est lancée, GreenDao doit être initialisé. GreenDao suggère de conserver ce code dans une classe Application ou quelque part il ne sera exécuté qu'une seule fois.

DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "mydatabase", null);
db = helper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(db);
DaoSession daoSession = daoMaster.newSession();

Classes d'assistance GreenDao

Une fois l'objet entité créé, GreenDao crée automatiquement les classes d'assistance utilisées pour interagir avec la base de données. Celles-ci sont nommées de la même manière que le nom de l'objet entité créé, suivi de Dao et récupérées à partir de l'objet daoSession .

UsersDao usersDao = daoSession.getUsersDao();

De nombreuses actions de base de données typiques peuvent maintenant être effectuées à l'aide de cet objet Dao avec l'objet entité.

Question

String email = "jdoe@example.com";
String firstname = "John";

// Single user query WHERE email matches "jdoe@example.com"
Users user = userDao.queryBuilder()
                .where(UsersDao.Properties.Email.eq(email)).build().unique();

// Multiple user query WHERE firstname = "John"
List<Users> user = userDao.queryBuilder()
                .where(UsersDao.Properties.Firstname.eq(firstname)).build().list();

Insérer

Users newUser = new User("John","Doe","jdoe@example.com");
usersDao.insert(newUser);

Mettre à jour

// Modify a previously retrieved user object and update
user.setLastname("Dole");
usersDao.update(user);

Effacer

// Delete a previously retrieved user object
usersDao.delete(user);