利用greendao對SQLite資料庫的操作

來源:互聯網
上載者:User

標籤:

利用greendao操作資料庫時,都是以對象或者對象的list來進行增刪改查的操作,操作的結果都是用一個list來接收的!!!

1.增加一條記錄

Stu stu01=new Stu();
stu01.setStuID(11);
stu01.setStuName("張三");
stu01.setFlag(true);
stuDao().insert(stu01);

2.增加多條記錄

List<Stu> list = new ArrayList<>();
Stu stu01=new Stu();
stu01.setStuID(11);
stu01.setStuName("張三");
stu01.setFlag(true);
list.add(stu01);

Stu stu02=new Stu();
stu02.setStuID(2);
stu02.setStuName("王五");
stu02.setFlag(true);
list.add(stu02);

Stu stu03=new Stu();
stu03.setStuID(Long.valueOf(5));
stu03.setStuName("李四");
stu03.setFlag(true);
list.add(stu03);
stuDao().insertInTx(list);

3.刪除一條記錄

(1)按對象刪除

     stuDao().delete(stu01);

(2)按主鍵刪除(表中需建一個long類型的主鍵)

      stuDao().deleteByKey(Long.valueOf(5));

4.刪除多條記錄(表中需建一個long類型的主鍵)

List<Stu> list = new ArrayList<>();
Stu stu01=new Stu();
stu01.setId(Long.valueOf(1));
stu01.setStuID(11);
stu01.setStuName("張三");
stu01.setFlag(true);
list.add(stu01);

Stu stu02=new Stu();
stu02.setId(Long.valueOf(2));
stu02.setStuID(2);
stu02.setStuName("王五");
stu02.setFlag(true);
list.add(stu02);
stuDao().deleteInTx(list);

5.全部刪除

stuDao().deleteAll();

6.修改一條記錄(表中需建一個long類型的主鍵)

Stu stu=stu01;
stu.setStuName("張小磊");
stuDao().update(stu);

7.修改多條記錄

List<Stu> list = new ArrayList<>();
Stu stu=stu01;
stu.setStuName("張小磊");
list.add(stu);

stu=stu02;
stu.setStuName("招兒");
list.add(stu);
stuDao().updateInTx(list);

8.查詢一條記錄

根據一個欄位查詢另一個欄位

public static String queryNameByID(long ID) {
List<Stu> stus = stuDao().queryRaw("where ID=?", String.valueOf(ID));
Stu stu = stus.get(0);
String name = stu.getName();
return name;
}

9.查詢多條記錄

(1)查詢出當一個欄位為多個值的情況下所有的記錄

public static List<Stu> queryStus() {
List<Stu> stus = new ArrayList<>();
QueryBuilder queryBuilder = stuDao().queryBuilder();
queryBuilder.whereOr(StuDao.Properties.StuID.eq(2), StuDao.Properties.StuID.eq(3));
stus = queryBuilder.list();
return stus;
}

(2)對查詢的記錄進行升序(降序)排序

public static List<Stu> queryStus() {
List<Stu> stus = new ArrayList<>();
QueryBuilder queryBuilder = stuDao().queryBuilder();
queryBuilder.where(StuDao.Properties.Flag.eq(true)).orderAsc(StuDao.Properties.StuID);
stus = queryBuilder.list();
return stus;
}

(3)巢狀查詢

public static List<Stu> queryStu() {
List<Stu> stus = new ArrayList<>();
QueryBuilder queryBuilder = stuDao().queryBuilder();

queryBuilder.where(StuDao.Properties.Flag.eq(true),
queryBuilder.or(StuDao.Properties.StuName.eq("張小磊"),
StuDao.Properties.StuName.eq("王五")));

stus = queryBuilder.list();
return stus;
}

 

利用greendao對SQLite資料庫的操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.