• dhroid


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

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

    初始化在application中基于ioc的配置

    //数据库初始化
    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 表示不参加持久化

    属性支持基本数据类型

    获取Dhdb对象下面我是用的ioc 你也可以制作单例

    @Inject
    DhDB db;
    
     
    
     
    
    
    保存和更新
    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);


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

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


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

    这样就可以使用对象属性进行查询,而不用了解数据库
    ? 占位符指数据用后面的数据替换 方法支持多个参数
    了解spring jdbctemplete 的应该很喜欢这样的写法


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

  • 相关阅读:
    解决Cell重绘导致 重复的问题
    给Cell间隔颜色
    NSUserDefault 保存自定义对象
    xcode6 下载
    unrecognized selector sent to instance
    16进制颜色转换
    local unversioned, incoming add upon update问题
    应用崩溃邮件通知
    TabBar变透明
    代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
  • 原文地址:https://www.cnblogs.com/niray/p/4650336.html
Copyright © 2020-2023  润新知