`

Dhdb 简化sqlite数据库操作--dhroid文档

 
阅读更多

  android数据库其实使用的不多,dhroid框架中的网络缓存使用了数据库我就写了也写了一个数据库操作工具

  dhroid 数据库基本还是单表操作多,为了简单我只做了单表,那些级联,懒加载,什么的分两个操作区解决吧

 

 

 

    初始化在application中

 

		//数据库初始化
		DhDB db=IocContainer.getShare().get(DhDB.class);
		db.init("dhdbname", Const.DATABASE_VERSION);

    如果你的数据库在sd卡上,你可以    

    db.initInSD("文件夹位置", "dhdbname", Const.DATABASE_VERSION);

 

    bean定义

 

@Entity(table="student")
public class Student {
	
	@Column(pk=true)
	public Long id;
	public String name;
	@Column(name="num_no")
	public String num;
	@Column(name="create_time")
	public Date createTime;
	public int age;
	public int sex;
	public boolean dangyuang;
	
	@NoColumn
	public String temp;
       //setget...
}

@Entity(table="student") 表示这个对象进行持久化,可以不添加,默认都可以,默认对象名和表名相同 

 

 

默认的属性都会被持久化的默认列名和属性名相同

@Column(pk=true)定义主键

@Column(name="num_no")定义列名

 

@NoColumn 表示不参加持久化

 

属性支持基本数据类型

 

保存和更新

 

	if(student == null){
			student=new Student();
			isnew=true;
		}
		student.setName(nameV.getText().toString());
		student.setNum(numV.getText().toString());
		student.setSex(Integer.parseInt(sexV.getText().toString()));
		student.setAge(Integer.parseInt(ageV.getText().toString()));
		student.setDangyuang(dangyuanV.getText().toString().equals("1")?true:false);
		student.setCreateTime(new Date());
		if(isnew){
			db.save(student);
		}else{
			db.update(student);
		}

 

 

删除

 

	db.delete(student);

 

 

 

加载

 

		student=db.load(Student.class, id);

 查询(基本的sql你还是需要了解的啊)

 

	List<Student> list=db.queryList(Student.class, ":name like ? or :num like ?","%name%","%num%");

 :num  已:开头的占位符表示对象属性(这里的num属性对应数据库里的num_no)

 

这样就可以使用对象属性进行查询,而不用了解数据库  

?  占位符指数据用后面的数据替换  方法支持多个参数

了解spring jdbctemplete 的应该很喜欢这样的写法

 

 

增删改查都都有了是不是很好用啊

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    DHDb:Shell脚本-GitHub操作-DHDb

    在文件名称列表中,我们看到`DHDb-main`,这通常是一个项目的主目录或启动点,可能包含了DHDb脚本本身以及其他相关的配置文件和资源。 综上所述,DHDb是一个利用Shell脚本与GitHub交互的工具,通过GitHub Actions...

    DH5Ver0414_PUBLISH

    要有DHDB 第一版数据库(另外发布) 要有SQL Script做基本初值设置 开发测试阶段 早上Build : 每天11 AM --- 部署人员应即部署测试 下午Build : 每天4 PM --- 部署人员应即部署测试 晚间Build : 如有加班--- 部署人员...

    python入门-30.寻找列表中只出现一次的数字-寻找单身狗.py

    python入门-30.寻找列表中只出现一次的数字——寻找单身狗.py

    布尔教育linux优化笔记

    linux优化笔记,配套视频:https://www.bilibili.com/list/474327672?sid=4496133&spm_id_from=333.999.0.0&desc=1

    知识付费系统-直播+讲师入驻+课程售卖+商城系统-v2.1.9版本搭建以及资源分享下载

    知识付费系统-直播+讲师入驻+课程售卖+商城系统-v2.1.9版本搭建以及资源分享下载,CRMEB知识付费分销与直播营销系统是由西安众邦科技自主开发的一款在线教育平台,该系统不仅拥有独立的知识产权,还采用了先进的ThinkPhp5.0框架和Vue前端技术栈,集成了在线直播教学及课程分销等多种功能,旨在为用户提供全方位的学习体验,默认解压密码youyacaocom

    美妆神域-JAVA-基于springBoot美妆神域设计与实现

    美妆神域-JAVA-基于springBoot美妆神域设计与实现

    原生js制作Google粘土logo动画涂鸦代码.zip

    原生js制作Google粘土logo动画涂鸦代码.zip

    golin 扫描工具使用, 检查系统漏洞、web程序漏洞

    golin 扫描工具使用, 检查系统漏洞、web程序漏洞

    原生态纯js图片网格鼠标悬停放大显示特效代码下载.zip

    原生态纯js图片网格鼠标悬停放大显示特效代码下载.zip

    用AWLUM进行灰色编码2^2n-QAM调制的精确率Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    去水印web端独立版web

    去水印web端独立版web

    原生js制作左侧浮动可折叠在线客服代码.zip

    原生js制作左侧浮动可折叠在线客服代码.zip

    Chrome 谷歌浏览器下载

    Chrome 谷歌浏览器下载

    亲测全新完整版H5商城系统源码 附教程

    全新完整版H5商城系统源码 自己花钱买的,亲测可用,需要自行下载 H5商城系统设置是实现商城基本功能的核心部分,涵盖了从网站配置、短信和支付配置,到商品、工单、订单、分站和提现管理等多个模块的设置。以下是详细的设置指南,帮助您快速上手并高效管理商城系统。 测试环境:Nginx+PHP7.0+MySQL5.6 1. 网站配置 设置商城名称、LOGO、标题、联系方式和SEO关键词等,确保商城专业和易于搜索。 2. 短信配置 配置短信接口和模板,用于发送订单通知、验证码等,提升用户体验。 3. 支付接口配置 配置微信、支付宝等支付接口,填写API密钥和回调地址,确保支付流畅。 4. 商品分类管理 对商品进行分类和排序,设置分类名称和图标,便于用户查找商品。 5. 商品管理 添加和管理商品信息、规格、图片等,确保商品信息准确丰富。 6. 工单管理 查看和回复用户工单,记录售后问题,提升用户服务质量。 7. 订单管理 查看订单详情,更新订单状态,支持批量导出,方便订单跟踪。 8. 分站管理 创建不同区域分站,设置权限,统一管理各区域市场。 9. 提现管理

    短信3.141592672893982398674234

    apk安装包

    原生js选项卡插件自定义图片滑动选项卡切换.zip

    原生js选项卡插件自定义图片滑动选项卡切换.zip

    1-宗教信息佛教佛寺寺庙庵堂相关数据-社科数据.zip

    宗教信息佛教佛寺寺庙庵堂相关数据集提供了全国各个地区省市县各个佛教寺庙的详细信息。这些数据不仅包括寺庙的名称和负责人姓名,还涵盖了所属省份、地级市、区县、具体地址、建立日期以及支派类别等关键信息。该数据集整理了超过3万条样本,为研究中国佛教寺庙的分布、历史和文化提供了丰富的第一手资料。这些信息有助于了解佛教在中国的传播和发展,以及寺庙在社会和文化中的作用。数据的整理和提供,对于宗教学、社会学、历史学和文化研究等领域的学者来说,是一个宝贵的资源。

    线性电阻网络的等效电阻计算Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    简单的 Python 版本管理.zip

    简单的 Python 版本管理pyenvpyenv 可让您轻松在多个 Python 版本之间切换。它简单、不引人注目,并遵循 UNIX 传统,即使用单一用途的工具来做好一件事。该项目由rbenv和 ruby​​-build分叉而来,并针对 Python 进行了修改。pyenv 的作用是什么......允许您根据每个用户更改全局 Python 版本。为每个项目的 Python 版本提供支持。允许您使用环境变量覆盖 Python 版本。一次搜索多个 Python 版本的命令。这可能有助于使用tox跨 Python 版本进行测试。与 pythonbrew 和 pythonz 相比,pyenv没有……依赖于Python本身。pyenv由纯shell脚本制作。不存在Python的引导问题。需要加载到你的 shell 中。相反,pyenv 的 shim 方法通过向你的 中添加目录来工作PATH。管理虚拟环境。当然,你可以自己创建虚拟环境 ,或者使用pyenv-virtualenv 来自动化该过程。目录安装获取 PyenvLinux/UNIX自动安装程序基本

Global site tag (gtag.js) - Google Analytics