zoukankan      html  css  js  c++  java
  • 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 的应该很喜欢这样的写法


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

  • 相关阅读:
    【UVA
    Struts2框架学习笔记1
    如何面对这个残酷的世界?——Java模拟
    漫漫学习路——我的大一
    leetcode-36-有效的数独
    leetcode-887-三维形体投影面积
    leetcode-34-在排序数组中查找元素的第一个和最后一个位置
    leetcode-33-搜索旋转排序数组
    leetcode-31-下一个排列
    leetcode-17-电话号码的字母组合
  • 原文地址:https://www.cnblogs.com/niray/p/4650336.html
Copyright © 2011-2022 走看看