`

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:Shell脚本-GitHub操作-DHDb

    DH5Ver0414_PUBLISH

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

    第五次作业函数第一题代码

    第五次作业函数第一题--

    基于深度学习的作物病害诊断内含数据集和运行环境说明.zip

    本项目旨在利用深度学习方法实现作物病害的自动诊断。作物病害是农业生产中的重要问题,及时诊断和处理对于减少产量损失至关重要。 我们采用深度学习算法,通过分析作物的图像,实现对病害的自动识别和分类。项目使用的数据集包括公开的作物病害图像数据集,如ISIC等,并进行了预处理,包括图像增强、分割和特征提取等。 在运行环境方面,我们使用Python编程语言,基于TensorFlow、PyTorch等深度学习框架进行开发。为了提高计算效率,我们还使用了GPU加速计算。此外,我们还采用了Docker容器技术,确保实验结果的可重复性。 项目完成后,将实现对作物病害的快速、准确诊断,为农业生产提供有力支持,有助于减少产量损失。同时,项目成果也可应用于其他图像识别和分类任务。

    机械设计CD驱动印刷设备step非常好的设计图纸100%好用.zip

    机械设计CD驱动印刷设备step非常好的设计图纸100%好用.zip

    tensorflow-2.7.2-cp37-cp37m-manylinux2010-x86-64.whl

    python烟花代码

    python烟花代码示例

    附件中是一个简单的烟花效果的代码示例: 在Python中,可以使用多种方式来模拟烟花效果,其中一种常用的方法是使用turtle模块,它提供了一个画布和一个小海龟,可以用来绘制各种图形。 这段代码首先导入了turtle模块和random模块,然后在屏幕上绘制了10次烟花爆炸的效果。每次爆炸都是由5个小圆组成,颜色随机选择,圆的大小也是随机的。 请注意,这段代码需要在支持turtle模块的Python环境中运行,并且需要有图形界面的支持。如果你在没有图形界面的环境中(比如某些服务器或者命令行界面),这段代码可能无法正常运行。

    商业化产品经理,到底如何实现产品商业化?.docx

    商业化产品经理,到底如何实现产品商业化?.docx

    Panduit 工业以太网部件内部销售指南

    Panduit 工业以太网部件内部销售指南

    Java版三维装箱代码示例

    在Java中,实现一个三维装箱(也称为三维背包问题)的算法通常涉及到组合优化和动态规划。这个问题是一个典型的优化问题,其中目标是在三个维度的限制下最大化价值的总和。下面是一个简单的Java代码示例,它使用动态规划来解决三维装箱问题。 请注意,这个代码只是一个简单的示例,它假设所有物品的第三个维度的大小都是1,并且没有给出如何回溯选择物品的完整逻辑。在实际应用中,三维装箱问题可能更加复杂,需要考虑所有三个维度的限制,并且可能需要更复杂的算法来解决。 此外,这个问题的解决方案可能需要根据具体问题的要求进行调整,例如物品是否可以分割、是否允许超过一个的物品等。如果你有特定的问题描述或者需要进一步的帮助,请提供更多的细节。

    常用品牌EPLAN部件库

    常用品牌EPLAN部件库

    单片机开发的教程.doc

    单片机开发的教程可以分为以下几个步骤: 1. 了解单片机基础知识:在学习单片机开发之前,需要了解单片机的相关知识,包括单片机的基本结构、指令系统、编程语言等。 2. 选择开发板:选择一款适合自己学习开发板的型号和厂商,通常需要关注开发板的性价比、开发环境是否友好等因素。 3. 学习开发环境:根据所选的开发板,学习相关的开发环境和使用方法,例如Keil、IAR等集成开发环境。 4. 掌握编程语言:单片机常用的编程语言包括C语言和汇编语言,根据实际情况选择其中一种进行学习。 5. 基础操作:熟悉单片机的引脚定义和IO口配置,了解单片机的启动代码,可以通过修改启动代码进行基本功能调试。 6. 综合实践:根据具体项目需求,进行单片机开发的综合实践。在实践中需要掌握如何编写程序、如何进行硬件调试、如何使用相关工具软件等技能。 下面是一个单片机开发的简单教程介绍: 首先,确定所使用的单片机型号和开发板类型。在这个阶段,需要查阅相关资料,了解开发板的规格书、芯片规格等基本资料。 其次,安装并配置开发环境。根据所选的开发板,安装相应的集成开发环境(IDE),并配置好开发环境。 接着,学习并掌

    Q1.ipynb

    Q1.ipynb

    (自适应手机端)IT网络建站公司pbootcms模板 互联网营销企业网站源码下载.zip

    (自适应手机端)IT网络建站公司pbootcms模板 互联网营销企业网站源码下载.zip

    Bematech 激光扫描器用户手册

    Bematech 激光扫描器用户手册

    激励视频接入文档.pdf

    激励视频接入文档.pdf

    java jdk1.8 202版本下载window linux打包

    java jdk1.8 202版本下载window linux打包

    Lite Beam M5快速指南 Lite Beam M5天线设置指南

    Lite Beam M5快速指南

    互联网金融导论.docx

    互联网金融导论.docx

    字节跳动青训营-抖音项目

    字节跳动青训营——抖音项目

Global site tag (gtag.js) - Google Analytics