Android中GreenDao的使用,很全面

 

1.在项目的build.gradle里面导入

dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
    classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'//要导入的
}

2.在自己的Moudle的build.gradle里面导入

apply plugin: 'org.greenrobot.greendao'

android{
//greendao配置
    greendao {
        //版本号,升级时可配置
        schemaVersion 1
//        daoPackage 'com.qianmo.greendaotest.gen'
        targetGenDir 'src/main/java'
    }
}
 
dependencies {
implementation 'org.greenrobot:greendao:3.2.0'

}

3,、导入完成以后自己建一个类,写上自己需要的属性,写完以后clean一下就好啦

@Entity
public class Message {
    @Id
    private Long id;//必须有
    @Property(nameInDb = "APPID")
    private String appid;
    @Property(nameInDb = "USERNAME")
    private String username;
    @Property(nameInDb = "PASSWORD")
    private String password;
    @Generated(hash = 443630610)}

4、初始化并在清单文件中声明

public class App extends Application {
    static DaoSession mDaoSession;
    @Override
    public void onCreate() {
        super.onCreate();
//第二个参数是数据库的名称
        DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(getApplicationContext(), "lala.db", null);
        DaoMaster daoMaster = new DaoMaster(devOpenHelper.getWritableDb());
        mDaoSession = daoMaster.newSession();

    }
    public static DaoSession getDaoSession(){
        return mDaoSession;
    }
}

<application android:name=".App">

5,在需要存储信息的类里面获取到它的MessageDao

DaoSession daoSession = App.getDaoSession();
MessageDao messageDao = daoSession.getMessageDao();

最后就可以自己写增删改查的方法啦,,,,,哈哈哈

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用 GreenDAO 实现多表关联的示例: 假设有两个实体类 User 和 Order,一个用户可以有多个订单,一个订单只属于一个用户,因此可以使用一对多的关系进行关联。 首先,定义 User 实体类: ```java @Entity public class User { @Id(autoincrement = true) private Long id; private String name; @ToMany(referencedJoinProperty = "userId") private List<Order> orders; // 省略 getter 和 setter 方法 } ``` 其使用 `@ToMany` 注解表示一个用户可以有多个订单,`referencedJoinProperty` 参数指定了 Order 实体类与 User 实体类关联的字段。 接着,定义 Order 实体类: ```java @Entity public class Order { @Id(autoincrement = true) private Long id; private String orderName; private Long userId; @ToOne(joinProperty = "userId") private User user; // 省略 getter 和 setter 方法 } ``` 其使用 `@ToOne` 注解表示一个订单只属于一个用户,`joinProperty` 参数指定了 Order 实体类与 User 实体类关联的字段。 然后,创建 GreenDAO 的生成代码(可通过 Android Studio 的 Gradle 插件自动生成)。 最后,就可以通过 GreenDAO 提供的 API 对 User 和 Order 实体进行操作,例如: ```java // 新增一个用户和一个订单 User user = new User(); user.setName("张三"); userDao.insert(user); Order order = new Order(); order.setOrderName("订单1"); order.setUserId(user.getId()); orderDao.insert(order); // 查询一个用户及其所有订单 User user = userDao.queryBuilder() .where(UserDao.Properties.Id.eq(userId)) .build() .unique(); List<Order> orders = user.getOrders(); ``` 以上示例演示了如何使用 GreenDAO 实现多表关联。需要注意的是,在定义实体类时,需要使用 GreenDAO 提供的注解进行标注,并且需要在实体类定义与关联实体类的关联字段。在使用 API 操作实体类时,可以通过关联字段进行关联查询。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值