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 的应该很喜欢这样的写法

 

 

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

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值