greendao用法
Greendao是一种流行的Android ORM(对象关系映射)框架,用于通过简单的Java注解将Java对象映射到SQLite数据库中。在本文中,我将一步一步地介绍Greendao的用法,以帮助你更好地理解和使用这个强大的数据库框架。
1. 引入Greendao库
首先,你需要在Android Studio的adle文件中添加Greendao库的依赖。在dependencies块中添加以下代码:
implementation 'obot:greendao:3.3.0'
然后,点击“Sync Now”按钮,让Android Studio下载并安装Greendao库。
2. 创建实体类
在使用Greendao之前,你需要先创建一个实体类。实体类可以具有任何你需要存储在数据库中的属性。例如,如果你想创建一个存储用户信息的实体类,可以创建一个名为User的Java类,
并在其中定义名称、年龄和性别等属性。
java
@Entity
public class User {session下载
    @Id(autoincrement = true)
    private Long id;
    private String name;
    private int age;
    private String gender;
   
    必须包含无参构造函数
    public User() {
    }
   
    Getters
}
在上面的代码中,@Entity注解表示这是一个Greendao实体类。@Id注解表示id属性是一个主键,autoincrement属性表示id将自动递增。
3. 创建数据库
接下来,你需要使用GreenDaoGenerator创建数据库。首先,创建一个名为greendao-generator的模块,并在其中创建一个GreenDaoGenerator类,并添加以下代码:
java
public class GreenDaoGenerator {   
    public static void main(String[] args) throws Exception {
        Schema schema = new Schema(1, "daoexample.db");
        添加实体类
        Entity user = schema.addEntity("User");
        user.addIdProperty().autoincrement();
        user.addStringProperty("name");
        user.addIntProperty("age");
        user.addStringProperty("gender");
        指定生成目录
        new DaoGenerator().generateAll(schema, "app/src/main/java");
    }
}
在上面的代码中,首先创建了一个Schema对象,用于指定数据库版本和包名。然后,通过使用addEntity方法,将User实体添加到Schema中,并使用addIdProperty、addStringProperty和addIntProperty方法定义实体的属性。
4. 生成代码
保存GreenDaoGenerator类后,你需要运行它。在Android Studio中,通过点击"Run"->"Edit Configurations",在"Name"字段中输入"greendao-generator"。然后,在"Main class"字段中选择"GreenDaoGenerator"类,并点击"Run"按钮。
这将生成Greendao所需的所有代码,包括Dao类、OpenHelper类和数据库的创建和升级类。
5. 初始化数据库
默认情况下,Greendao在你的应用程序的Application类中自动处理数据库的初始化。在Application类中,你只需要添加以下代码:
java
public class MyApp extends Application {
    private DaoSession daoSession;
    @Override
    public void onCreate() {
        Create();
        初始化数据库
        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "database-name");
        SQLiteDatabase db = WritableDatabase();
        DaoMaster daoMaster = new DaoMaster(db);
        daoSession = wSession();
    }
    public DaoSession getDaoSession() {
        return daoSession;
    }
}
在上面的代码中,首先在onCreate方法中创建DaoMaster和DaoSession对象,并将其保存到变量daoSession中。然后,在getDaoSession方法中返回daoSession对象。
6. 增删改查数据
现在,你可以使用Greendao轻松地进行增加、删除、修改和查询数据操作了。下面是一些示例代码:
java
获取DaoSession对象
DaoSession daoSession = ((MyApp) getApplication()).getDaoSession();