Lite-Orm数据库

article/2025/10/29 11:35:17

1. 初步认识

GItHub库

自动化且比系统自带数据库操作快1倍!

LiteOrm是android上的一款数据库(ORM)框架库。速度快、体积小、性能高。开发者基本一行代码实现数据库的增删改查操作,以及实体关系的持久化和自动映射。


2.导入orm相关jar包

jar包可以在上面的官网例子里面找到
下面讲讲如何在项目中添加jar
1.将jar复制到自己的项目文件夹下,如下图:

选中lib-orm-1.9.2jar,然后右键,在列表中选择add as librrary.... 即可


3.建表

在任意一个类下面添加这句话即可;

@PrimaryKey(AssignType.AUTO_INCREMENT)
private int primary_id;

比如:我自己写的这个类

其实还有其他的注解,但是大家一般也都是常用的居多,就不介绍那么多了。


4.使用

首先写一个数据库帮助类:【我自己写了一个,要是嫌麻烦的话,可以直接用我的也行】

package com.anrongplcae.utils;import android.annotation.SuppressLint;
import android.content.Context;import com.litesuits.orm.LiteOrm;
import com.litesuits.orm.db.assit.QueryBuilder;
import com.litesuits.orm.db.assit.WhereBuilder;
import com.litesuits.orm.db.model.ColumnsValue;
import com.litesuits.orm.db.model.ConflictAlgorithm;import java.util.Collection;
import java.util.List;/*** 数据库工具类* * @author Mazhanzhu**/
public class LiteOrmDBUtil {public static String DB_NAME;private static LiteOrm liteOrm;public static Context mContext;/*** 数据库名称** @return*/private static String getUserDatabaseName() {return "行业场所_DB";}/*** 创建级联数据库** @param context*/public static boolean createCascadeDB(Context context) {mContext = context.getApplicationContext();DB_NAME = getUserDatabaseName();liteOrm = LiteOrm.newCascadeInstance(mContext, DB_NAME);liteOrm.setDebugged(LogUtil.isDebuggable());return true;}public static LiteOrm getLiteOrm() {if (liteOrm == null) {if (mContext == null) {mContext = mContext.getApplicationContext();}DB_NAME = getUserDatabaseName();liteOrm = LiteOrm.newCascadeInstance(mContext, DB_NAME);liteOrm.setDebugged(LogUtil.isDebuggable());}return liteOrm;}/*** 插入一条记录** @param t*/public static <T> long insert(T t) {return getLiteOrm().save(t);}/*** 插入所有记录** @param list*/public static <T> int insertAll(List<T> list) {return getLiteOrm().save(list);}/*** 以某种条件作为插入标准** @param* @return*/public static <T> long insertAll(Collection<T> t, ConflictAlgorithm config) {return getLiteOrm().insert(t, config);}/*** 以某种条件作为插入标准** @param* @return*/public static <T> long insertAll(List<T> t, ConflictAlgorithm config) {return getLiteOrm().insert(t, config);}/*** 查询所有** @param cla* @return*/public static <T> List<T> getQueryAll(Class<T> cla) {return getLiteOrm().query(cla);}/*** 根据ID查询** @param cla* @return*/public static <T> T getInfoById(String id, Class<T> cla) {return getLiteOrm().queryById(id, cla);}/*** 根据ID查询** @param cla* @return*/public static <T> T getInfoById(long id, Class<T> cla) {return getLiteOrm().queryById(id, cla);}/*** 查询 某字段 等于 Value的值** @param cla* @param field* @param value* @return*/@SuppressWarnings({ "unchecked", "rawtypes" })public static <T> List<T> getQueryByWhere(Class<T> cla, String field,Object[] value) {return getLiteOrm().<T> query(new QueryBuilder(cla).where(field + "=?", value));}/*** 模糊查询* @param cla* @param field* @param value* @param <T>* @return*/public static <T>List<T> getQueryByTime(Class<T> cla,String field,Object[] value){return  getLiteOrm().<T>query(new QueryBuilder(cla).where(field +" LIKE ?",value));}/*** 查询 某字段 等于 Value的值 可以指定从1-20,就是分页** @param cla* @param field* @param value* @param start* @param length* @return*/public static <T> List<T> getQueryByWhereLength(Class<T> cla, String field,String[] value, int start, int length) {return getLiteOrm().<T> query(new QueryBuilder(cla).where(field + "=?", value).limit(start,length));}/*** 删除所有 某字段等于 Vlaue的值** @param cla* @param field* @param value*/@SuppressWarnings("deprecation")public static <T> int deleteWhere(Class<T> cla, String field, String[] value) {// liteOrm.delete(cla, WhereBuilder.create().where(field + "=?",// value));return getLiteOrm().delete(cla,WhereBuilder.create(cla, field + "=?", value));}/*** 删除所有 某字段等于 Vlaue的值** @param cla* @param field* @param value*/public static <T> int deleteWhere(Class<T> cla, String field, Object[] value) {return getLiteOrm().delete(cla,WhereBuilder.create(cla, field + "=?", value));}/*** 删除所有** @param cla*/public static <T> int deleteAll(Class<T> cla) {return getLiteOrm().deleteAll(cla);}/*** 仅在以存在时更新** @param t*/public static <T> int update(T t) {return getLiteOrm().update(t, ConflictAlgorithm.Replace);}/*** 以某种条件来整体更新** @param list* @param config* @return*/public static <T> int updateAll(List<T> list, ConflictAlgorithm config) {return getLiteOrm().update(list, config);}public static <T> int updateALL(List<T> list) {return getLiteOrm().update(list);}public static <T> void update(Class<T> cla, String queryCol,String queryValue, String updateCol, String updateValue) {getLiteOrm().update(new WhereBuilder(cla).where(queryCol + " = ?",new String[] { queryValue }),new ColumnsValue(new String[] { updateCol },new Object[] { updateValue }), ConflictAlgorithm.None);}@SuppressLint("NewApi")public void closeDB() {if (liteOrm != null) {liteOrm.close();}}}

然后是初始化:把下面的这段代码放到你自己的Application中,在OnCreate中引用这个方法就可以了。

/*** 初始化数据库*/
private void initOrmLite() {boolean cascadeDB = LiteOrmDBUtil.createCascadeDB(this);if (cascadeDB) {LogUtil.d("创建数据库成功");}
}

最后就是使用了,使用的话,超级简单的:

PerPhotoInfo ppif = new PerPhotoInfo();ppif.setSex("");ppif.setGmsfhm("");LiteOrmDBUtil.insert(ppif);

5.最后

 


http://chatgpt.dhexx.cn/article/sXjK8sqw.shtml

相关文章

Android 数据库框架ormlite 使用精要

Android 数据库框架ormlite 使用精要 前言 本篇博客记录一下笔者在实际开发中使用到的一个数据库框架&#xff0c;这个可以让我们快速实现数据库操作&#xff0c;避免频繁手写sql&#xff0c;提高我们的开发效率&#xff0c;减少出错的机率。 ormlite是什么&#xff1f; 首…

ormlite 的简单应用

在android开发中还有哪些技术可以方便的操作数据库&#xff0c;我不大清楚&#xff0c;今天学习了一下 ormlite&#xff0c;觉得还不错&#xff0c;非常方便。 ormlite官网下载&#xff1a;http://ormlite.com/releases/ 1、引入jar包 2、写实体类 package com.example.aandr…

OrmLite for android--Ormlite的大概介绍

Ormlite 是一种ORM工具&#xff0c;并且是一种轻量级别的工具。我们可以使用它来对Android中内嵌的sqlite数据库进行相关的操作。Android 的应用程序应使用 Ormlite for android 版本来进行相关的开发。Ormlite for android 提供两个jar库&#xff1a;ormlite-android-4.22.j…

Ormlite 介绍 一

概述 ORMlite是类似hibernate的对象映射框架&#xff0c;主要面向java语言&#xff0c;同时&#xff0c;是时下最流行的android面向数据库的的编程工具。 官方网站&#xff1a;http://ormlite.com/ 如果需要开发android&#xff0c;只需要下载core和android两个jar包&#xff…

Ormlite基本使用

首先需要导入ORMLite的依赖&#xff1a;在build.gradle中加入以下代码&#xff1a; implementation com.j256.ormlite:ormlite-android:5.1implementation com.j256.ormlite:ormlite-core:5.1建立Bean类&#xff08;以OneTableBean为例&#xff09; import com.j256.ormlite.f…

Android 数据库框架ormlite 使用

ormlite是什么&#xff1f; 首先可以去它的官网看看www.ormlite.com&#xff0c;它的英文全称是Object Relational Mapping&#xff0c;意思是对象关系映射&#xff1b;如果接触过Java EE开发的&#xff0c;一定知道Java Web开发就有一个类似的数据库映射框架——Hibernate。简…

Android ORMLite数据库简介

&#xfeff;&#xfeff; 一般的项目中&#xff0c;Android自身提供的SQLite数据库&#xff0c;可以满足轻量级的数据存储应用&#xff0c;但是&#xff0c;只要是存储模型稍微复杂的项目&#xff0c;以及数据结构模型复杂的应用&#xff0c;就很难再用SQLite支撑整个项目的数…

python的网络请求库urllib、urllib2、urllib3、request的联系

文章目录 1. 简介2. urllib3. urllib24. urllib35. requests6. 相关文章 1. 简介 urllib、urllib2、urllib3、request均能通过网络访问互联网上的资源文件&#xff0c;它们通过使用统一资源定位符&#xff08;URL&#xff09;并结合re模块完成很多意想不到的操作。 urllib&am…

python3安装urllib2_python3.6想使用urllib2包怎么办

Python3.6.6或者说python3.x找不到urllib2语法问题修改之后&#xff0c;会报一个没有安装urllib2的包的错误。 通过pip install urllib2也会提示找不到包。(推荐学习&#xff1a;Python视频教程) 通过pip3 install urllib2也会提示找不到包。 这是因为builtwith依赖于urllib2包…

pythonurllib2方法_解决python3.6想使用urllib2包的方法

解决python3.6想使用urllib2包的方法 发布时间&#xff1a;2020-08-11 14:24:50 来源&#xff1a;亿速云 阅读&#xff1a;131 作者&#xff1a;小新 小编给大家分享一下解决python3.6想使用urllib2包的方法&#xff0c;相信大部分人都还不怎么了解&#xff0c;因此分享这篇文章…

python安装urllib2_Python如何安装urllib2库

urllib2 是 Python2.7 自带的模块(不需要下载,导入即可使用)。 urllib2库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 在Python中有很多库可以用来抓取网页,我们先学习urllib2。urllib2 是 Python2.7 自带的模块(不需要下载,…

python爬虫-urllib2的使用方法详解(python3)

文章目录 python编程快速上手&#xff08;持续更新中…&#xff09;python爬虫从入门到精通urllib2概述python2与python3对比urlopenRequestUser-Agent添加更多的Header信息 urllib2默认只支持HTTP/HTTPS的GET和POST方法URL编码转换&#xff1a;urllib.parse.urlencode模拟百度…

Urllib2库丨Python爬虫基础入门系列(12)

提示&#xff1a;文末有福利&#xff01;最新Python爬虫资料/学习指南>>戳我直达 文章目录 前言Urllib2库学习目的urlopenGET请求方式利用urllib2.Request类,添加Header信息POST请求方式抓取招聘信息思考一下 小结 总结 前言 Urllib2库 urllib2是python2.7自带的模块(不…

Hyper-V虚拟化

第一章 Hyper-V 介绍 1-1 Hyper-V发展历史 2003 年&#xff0c;微软收购了一家虚拟化软件公司。2004 年推出了第一个桌面虚拟化产品Virtual PC 2004&#xff0c;其功能类似于VMware 工作站(work station)。由于该虚拟化产品集成在操作系统之中&#xff0c;所以用户可以在windo…

QNX Hypervisor管理程序

QNX Hypervisor管理程序 借助 QNX 管理程序&#xff0c;可以将具有不同操作系统&#xff0c;不同可靠性和安全要求的多个嵌入式系统&#xff0c;整合到单个片上系统 (SoC) 中。可以轻松地将未修改的代码移动到最新的硬件上&#xff0c;只需在适当配置的hypervisor 管理程序虚拟…

怎么开启windows hypervisor platform,解决hypervisor platform消失无法安装的问题

正常的windows功能面板 我的 很好,没有安装windows hypervisor platform的机会,但是没关系(ps:此处描述有误中文名称应该是虚拟机监控程序平台) 然后cmd 或powershll 管理员身份运行 Dism /online /Get-Features 可以查看到hypervisor platform是禁用状态 ::%cd%代表的是执…

Android Studio安装常见问题详解——Android Emulator Hypervisor Driver for AMD Processors installation failed.

目录 一、问题描述二、解决方案2.1 开启CPU虚拟化2.2 禁用Hyper-V2.3 使用管理员命令行在驱动程序包中执行“silent_install.bat” 一、问题描述 新买的AMD轻薄本&#xff0c;在安装Android Studio时遇到问题&#xff1a; Android Emulator Hypervisor Driver for AMD Process…

Hypervisor之半虚拟化virtio

1 基本概念 virtio共享内存使用的是guest GPA&#xff0c;由guest virtio front-end驱动初始化队列的时候分配&#xff0c;在back-end驱动中&#xff0c;QVM或者QEMU将GPA转换到HVA或者HPA地址再读写数据。 virtio front-end通知back-end方式&#xff1a;访问doorbell寄存器触发…

VMware vSphere Hypervisor (ESXi) 7.0U3g安装

VMware vSphere Hypervisor“ESXi” 7.0U3g 安装 一、准备工作1、查看支持ESXI7.0U3的CPU型号&#xff1b;2、下载将镜像制作成安装盘的软件&#xff1b;3、注册vmware账号&#xff0c;下载ESXI7.0U3镜像&#xff1b; 二、安装VMware vSphere Hypervisor (ESXi) 7.0U3g三、配置…

Vmware vSphere hypervisor 虚拟化软件安装

目录 一、概述 1.1.什么是 vSphere Hypervisor&#xff1f; 二、U盘启动制作 2.1. ultraiso安装完成后打开文件 2.2.选择我们下载好的虚拟化软件ios 2.3.写入映像文件 2.4.写入硬盘映像&#xff0c;驱动器选择插入的U盘 三、 Vmware vSphere hypervisor安装 四、虚拟机…