Android 数据库封装(SQLite)

Android 数据库操作(SQLite)

  • Android 数据库操作(SQLite)
    • 动态预览
    • 使用
      • 初始化
      • 生成表
      • 实体类
      • 插入数据
      • 批量插入
      • 删除数据
      • 删除全部
      • 修改数据
      • 查找(列表)
      • 查找(单条)
      • 条件查找(列表)
      • 条件查找(单条)
    • 源码

Android 数据库操作(SQLite)

数据库封装,方便使用。实现了数据库拷贝,实体类注解配置表及字段,并实现数据封装返回实体类,简化了sql编写和对游标的操作。

动态预览

使用

初始化

 QuickDb dbHelper;dbHelper = new QuickDb(this, "quick_db1.db", "quick_db2.db", null, 10, this);

生成表

  dbHelper.createTable(User.class);

实体类

@DBTable(name = "user")
public class User {@SQLObj(name = "id",constraints = @Constraints(primaryKey = true))private int id;@SQLObj(name = "name")private String name;@SQLObj(name = "header")private String header;private int age;private int sex;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getHeader() {return header;}public void setHeader(String header) {this.header = header;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getSex() {return sex;}public void setSex(int sex) {this.sex = sex;}
}

插入数据

 User user = new User();user.setName("张三");user.setAge(18);dbHelper.insert(user);

批量插入

List<Member> members = new ArrayList<>();
for (int i = 1; i <= 10; i++) {Member member1 = new Member();member1.setAge(i);member1.setName("M_" + i);members.add(member1);
}
dbHelper.insertArray(members);

删除数据

User user_d = new User();
user_d.setId(2);
dbHelper.delete(user_d);

删除全部

dbHelper.deleteAll(Member.class);

修改数据

Member member = members.get(0);
member.setName("sb");
member.setAge(18);
dbHelper.modify(member);

查找(列表)

Member member1 = new Member();
member1.setId(1);
List<Member> members = dbHelper.findArray(member1);

查找(单条)

User user_t = new User();
user_t.setId(3);
User user2 = dbHelper.findOne(user_t);

条件查找(列表)

List<Member> members = new ArrayList<>();
members = dbHelper.findArray("select * from member", Member.class);

条件查找(单条)

Member member = dbHelper.findOne("select * from member", Member.class);

源码

https://gitee.com/squirrelhuan/quick-db

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/136388.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法刷题 week2

目录 week21. 二维数组中的查找题目题解(单调性扫描) O(nm) 2.替换空格题目题解(线性扫描) O(n)(双指针扫描) O(n) 3.从尾到头打印链表题目题解(遍历链表) O(n) week2 1. 二维数组中的查找 题目 题解 (单调性扫描) O(nm) 核心在于发现每个子矩阵右上角的数的性质&#xff1…

docker-compose使用

docker-compose docker的项目编排 一、安装docker-compose Rocky Linux Rocky Linux安装Docker Compose的步骤如下&#xff1a; 安装Docker。您可以使用以下命令安装Docker&#xff1a; sudo dnf install docker-ce docker-ce-cli containerd.io安装Docker Compose。您可以…

ChatGPT实战-Embeddings打造定制化AI智能客服

本文介绍Embeddings的基本概念&#xff0c;并使用最少但完整的代码讲解Embeddings是如何使用的&#xff0c;帮你打造专属AI聊天机器人&#xff08;智能客服&#xff09;&#xff0c;你可以拿到该代码进行修改以满足实际需求。 ChatGPT的Embeddings解决了什么问题&#xff1f; …

上海亚商投顾:三大指数小幅下跌 光刻机概念股午后走强

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日小幅调整&#xff0c;创业板指走势较弱。减肥药概念股继续大涨&#xff0c;常山药业2连板&#x…

linux( CentOs)对mysql基本操作和密码修改

1.mysql登录 mysql -uroot -p 2.显示所有数据库 Show databases; 3.生产过程中改密码 use mysql ; 查看user表中的user、host、password信息。 select user,host,password from user; select host,user from user;使用“GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIE…

Linux调试器-gdb使用

文章目录 前言一、pandas是什么&#xff1f;1、gdb介绍2、gdb使用2.1 启动gdb和退出gdb2.2 list显示代码命令2. run运行程序命令2.3 break设置断点命令2.4 delete删除断点命令2.5 next逐过程执行命令2.6 step逐语句向下执行命令2.7 print打印表达式值命令2.8 bt命令和finish命令…

初识C语言——详细入门一(系统性学习day4)

目录 前言 一、C语言简单介绍、特点、基本构成 简单介绍&#xff1a; 特点&#xff1a; 基本构成&#xff1a; 二、认识C语言程序 标准格式&#xff1a; 简单C程序&#xff1a; 三、基本构成分类详细介绍 &#xff08;1&#xff09;关键字 &#xff08;2&#xf…

插拔结构脉冲离子风工作原理

脉冲离子风机有着特殊的结构-插拔结构&#xff0c;清洁保养维修更简单、更安全&#xff1b;核心部件模块化&#xff1b;它有着超强的消除静电能。 脉冲台式离子风机的安装方法:将离子风机置于台面上或悬挂于台面上&#xff0c;插上电源插头&#xff0c;打开风机&#xff0c;调节…

微信群发一次能发1000个好友了!你发现了吗?

微信作为我们日常交流的主要工具之一 群发功能在我们的日常生活中也非常实用 但有时候 比如在新年期间 需要向所有客户发送祝福时 在公司做活动期间 向所有客户发起邀约时 如果一个一个点击来发送信息 会非常麻烦 但是&#xff01;&#xff01; 我今天发现微信 已经…

部署ik分词器

部署ik分词器 案例版本&#xff1a;elasticsearch-analysis-ik-8.6.2 ​ ES默认自带的分词器对中文处理不够友好&#xff0c;创建倒排索引时可能达不到我们想要的结果&#xff0c;然而IK分词器能够很好的支持中文分词 ​ 因为是集群部署&#xff0c;所以每台服务器中的ES都需…

HarmonyOS应用开发—资源分类与访问

应用开发过程中&#xff0c;经常需要用到颜色、字体、间距、图片等资源&#xff0c;在不同的设备或配置中&#xff0c;这些资源的值可能不同。 应用资源&#xff1a;借助资源文件能力&#xff0c;开发者在应用中自定义资源&#xff0c;自行管理这些资源在不同的设备或配置中的表…

C语言指针,深度长文全面讲解

指针对于C来说太重要。然而&#xff0c;想要全面理解指针&#xff0c;除了要对C语言有熟练的掌握外&#xff0c;还要有计算机硬件以及操作系统等方方面面的基本知识。所以本文尽可能的通过一篇文章完全讲解指针。 为什么需要指针&#xff1f; 指针解决了一些编程中基本的问题。…

9.19作业

TCP服务器 //创建流式套接字int sfd socket(AF_INET, SOCK_STREAM, 0);if(sfd < 0){ERR_MSG("socket"); return -1;}printf("socket create success sfd%d\n", sfd);//允许端口快速复用in…

MQTT Paho Android 支持SSL/TLS(亲测有效)

MQTT Paho Android 支持SSL/TLS(亲测有效) 登录时支持ssl的交互 这是调测登录界面设计 代码中对ssl/tls的支持 使用MqttAndroidClient配置mqtt客户端请求时&#xff0c;不加密及加密方式连接存在以下几点差异&#xff1a; url及端口差异 val uri: String if (tlsConnect…

[npm]脚手架本地全局安装1

[npm]脚手架本地全局安装1 npm link 全局安装npm install 全局安装卸载全局安装的脚手架 该文章是你的脚手架已经开发完成的前提下&#xff0c;你想要本地全局安装该脚手架&#xff0c;便于本地使用脚手架的命令的情况 npm link 全局安装 如果本地开发的项目是个脚手架&#…

《数据结构、算法与应用C++语言描述》使用C++语言实现二维数组下三角矩阵

《数据结构、算法与应用C语言描述》使用C语言实现二维数组下三角矩阵 下三角矩阵定义 如下图所示&#xff1a; 代码实现 _11lowerTriangularMatrix.h 模板类 /* Project name : allAlgorithmsTest Last modified Date: 2022年8月13日17点38分 Last Version: V1.0 D…

oracle创建表空间、用户、权限以及导入dmp文件

创建表空间 create tablespace A_DATA logging datafile F:\CODEAPP\ORACLE\ORADATA\A_DATA01.DBF size 50m autoextend on next 50m maxsize 32767m extent management local; -- 这个语句将创建一个大小为50MB的数据文件&#xff0c;启用自动扩展功能&#xff0c;每次扩展50…

Java21 LTS版本

一、前言 除了众所周知的 JEP 之外&#xff0c;Java 21 还有更多内容。首先请确认 java 版本&#xff1a; $ java -version openjdk version "21" 2023-09-19 OpenJDK Runtime Environment (build 2135-2513) OpenJDK 64-Bit Server VM (build 2135-2513, mixed mo…

zemax像质评价

1、外形图 1.1二维外形图 如图所示&#xff0c;展示镜头的侧面图 可以通过设置改变图中显示的内容&#xff1a; 起始面&#xff1a;绘图的第一个面 终止面&#xff1a;绘图的最后一个面 光线数&#xff1a;画出的光线数&#xff08;上图中的一个颜色就是7根线&#xff09; …

使用Visual Leak Detector排查内存泄漏问题

目录 1、VLD工具概述 2、下载并安装VLD 2.1、下载VLD 2.2、安装VLD 3、VLD安装目录及文件说明 3.1、安装目录及文件说明 3.2、关于32位和64位版本的详细说明 4、在工程中引入VLD 5、内存泄漏检测实例讲解 5.1、程序启动报错 5.2、启动调试&#xff0c;查看内存泄漏报…