利用greendao对SQLite数据库的操作

利用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;}
时间: 2024-10-02 19:01:19

利用greendao对SQLite数据库的操作的相关文章

2014-08-01 ASP.NET中对SQLite数据库的操作——ADO.NET

今天是在吾索实习的第18天.我主要学习了如何在ASP.NET中对SQLite数据库的操作,其基本操作如下: 添加引用System.Data.SQLite.dll(PS:在网页里面任意找到适合的.NET Framework版本与位数所对应的压缩包,里面就会有该文件了). 在所在cs文件中加入using System.Data.SQLite; 定义两个string变量:ConStr.SqlStr,分别用于SQLite的连接字符串与SQL语句. 定义SQLiteConnection变量Conn,用于连

[Unity]SQLite-C#调用 SQLite数据库-Unity操作

SQLite数据库-Unity操作 项目开发的时候,经常会遇到的一种需求,数据存储 离线缓存的数据类型很多,大致分成两类 字符串文本数据 多媒体数据 字符串数据的类型只有字符串,但是结构有很多: xml json md5 base64 普通字符串 多媒体数据的类型: 图片(jpg,png,gif...) 音频(mp3,aif...) 视频(mp4,mpv) 通常用数据库来存储字符串文本类型的数据,但是需要注意的是数据库同时也能存储多媒体类型的数据 关系数据库 在一个给定的应用领域中,所有实体及实

IOS开发-UI学习-sqlite数据库的操作

IOS开发-UI学习-sqlite数据库的操作 sqlite是一个轻量级的数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了,而且它的处理速度比Mysql.PostgreSQL这两款著名的数据库都还快,在ios和安卓app中常用来完成对数据进行离线缓存的处理,如新闻数据的离线缓存. 它的基本操作步骤是: 1.先加入sqlite开发库libsqlite3.dylib, 2.新建或打开数据库, 3.创建数据表, 4.插入数据, 5.查询数据并打印, 6.关闭数据库, 具体操作步

Android开发之通过Android的API对sqlite数据库的操作以及数据库事务的练习

一.通过Android的API对sqlite数据库的操作 通过已有的ContentValues类,实例一个对象value来调用其中内部的方法来操作sqlite数据库 代码: package com.example.databasedemo; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sql

Android SQlite数据库常规操作

1.Sqlite简介 Sqlite是一款轻型的数据库,它包含在一个相对小的C库中,它的设计目标是嵌入式的,由于它占用资源非常少,可能只需要几百K的内存就可以了,并且支持Windows/Linux/Unix等等主流的操作系统,同时可以和很多种程序语言相结合,比如:C#/Java/php等,所以在嵌入式设备中特别受欢迎,这一点也正好符合android的开发要求,所以在Android开发中经常要用到该数据库. 2. 运用Sqlite,一般要有一个SQLiteOpenHelper来辅助创建数据库,连接数

安卓平台SQLite数据库基础操作总结

最近学了一些安卓开发,在这里分享一下SQLite数据库的使用相关部分,我使用的工具为Android Studio,后台语言为java: 首先,需要创建一个数据库辅助类DataBaseHelper,用于数据库的创建,并方便我们之后对于数据库链接及的操作: package com.example.myapplication; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import an

2015.1.8,第五节课Android SQLite数据库的操作

// 包的划分 Activity 界面密码所在类 com.example.sqlite.activity   快速入口 数据库操作功能接口包 com.example.sqlite.dao       快速入口 实体类所在包 com.example.sqlite.domain   快速入口 工具包 com.example.sqlite.heper            快速入口 接口实现包 com.example.sqlite.operation    快速入口    测试 layout 布局  

【转载】android之SQLite数据库insert操作

原博文地址:http://blog.csdn.net/jason0539/article/details/9977175 原型: long android.database.sqlite.SQLiteDatabase.insert(String table, String nullColumnHack, ContentValues values) 参数介绍: table: 要插入数据的表的名称 nullColumnHack:当values参数为空或者里面没有内容的时候,我们insert是会失败的

MySql数据库 - 3.利用MySql Workbench 对数据库进行操作

打开MySql Workbench 选择呢一个数据库 查看数据库: 创建数据库 在SCHEMAS下的空白位置右键 - 选择 Create Schema... 如果数据库名字中有大写字母,会出现如下提示: 该提示意思为:数据库中不区分大小写,点击 OK 就可以了. 原文地址:https://www.cnblogs.com/kao-la-bao-bei/p/9217271.html