Android orm 框架xUtils简介 - lsc183

标签: android orm 框架 | 发表时间:2015-04-24 16:02 | 作者:lsc183
出处:

  数据库操作建议用ORM框架,简单高效。这里推荐xUtils,里面包含DBUtils。github地址:https://github.com/wyouflf/xUtils

  获得数据库实例建议用单例模式。

 static DbUtils db = null;
  public static DbUtils getDb(Context context) {
    if (context == null) {
      context = DoctorApplication.getInstance();
    }
    if (db == null) {
      db = DbUtils.create(context, "xUtils.db");
    });
    db.configAllowTransaction(true);
    return db;
  }
    db.configAllowTransaction(true);
    return db;
}

  创建一个实体类,对应数据库中的表。

@Table(name = "User")
  public class User {
    private int id; //主键ID,必须
    private String uid;  
    private String type;
    public int getId() {
   return id;
  }
   public void setId(int id) {
      this.id = id;
   }
    public String getType() {
      return type;
    }  
    public void setType(String type) {
      this.type = type;
    }
    public String getUid() {
      return uid;
    }
    public void setUid(String uid) {
      this.uid = uid;
    }
  }

  查找:

// 查找,根据主键ID查找
User userTemp = db.findById(User.class, user.getId());
List<User> list = db.findAll(User.class);//通过类型查找,查找所有

User user = db.findFirst(Selector.from(User.class).where("type","=","0"));

// IS NULL
User user = db.findFirst(Selector.from(User.class).where("type","=", null));
// IS NOT NULL
User user = db.findFirst(Selector.from(User.class).where("type","!=", null));

List<User> list = db.findAll(Selector.from(User)
.where("id" ,"<", 54)
.and(WhereBuilder.b("id", ">", 20).or("id", " < ", 30))
.orderBy("id")
.limit(pageSize)
.offset(pageSize * pageIndex));

// op为"in"时,最后一个参数必须是数组或Iterable的实现类(例如List等)
User test = db.findFirst(Selector.from(User.class).where("id", "in", new int[]{1, 2, 3}));
// op为"between"时,最后一个参数必须是数组或Iterable的实现类(例如List等)
User test = db.findFirst(Selector.from(User.class).where("uid", "between", new String[]{"1", "5"}));

DbModel dbModel = db.findDbModelAll(Selector.from(User.class).select("uid"));//select("name")只取出name列
List<DbModel> dbModels = db.findDbModelAll(Selector.from(User.class).groupBy("type").select("uid", "count(uid)"));
...

List<DbModel> dbModels = db.findDbModelAll(sql); // 自定义sql查询
db.execNonQuery(sql) // 执行自定义sql

//多条件混合查询

  List<User> userEnts = TCommUtil.getDb(this).findAll(Selector.from(User.class).where(WhereBuilder.b("id", ">", 5).or("id", "<", 3)).and("uid", "=", "0"));

  //模糊查询like

 String str = "select id,nickname,age,gender,zhenduan,avatar,pid,type from User where uid = "

  + uid

  + " and type like '%"

  + value + "%'";

  Cursor cursor = TCommUtil.getDb(this).execQuery(str);

  cursor.moveToFirst();

  for (int i = 0; i < cursor.getCount(); i++) {

    User userEnt = new User();

    userEnt.setId(cursor.getInt(0));

    ...

    cursor.moveToNext();

 }

  cursor.close();

  保存

User userEnt = new User();
TCommUtil.getDb(this).save(user);

List<User> userEnts = new ArrayList<User>();
TCommUtil.getDb(this).saveAll(userEnts);

  删除

TCommUtil.getDb(this).deleteAll(User.class);
TCommUtil.getDb(this).delete(User.class, WhereBuilder.b("id", "=", 3));

  修改 

userEnt.setType("3");
TCommUtil.getDb(this).update(userEnt, WhereBuilder.b("id", "=", 0), "type");

 


本文链接: Android orm 框架xUtils简介,转载请注明。

相关 [android orm 框架] 推荐:

Android orm 框架xUtils简介 - lsc183

- - 博客园_首页
  数据库操作建议用ORM框架,简单高效. 这里推荐xUtils,里面包含DBUtils. github地址:https://github.com/wyouflf/xUtils.   获得数据库实例建议用单例模式.   创建一个实体类,对应数据库中的表.     private int id; //主键ID,必须.

最受欢迎的5个Android ORM框架

- - 极客521 | 极客521
在开发Android应用时,保存数据有这么几个方式,. 一个是本地保存,一个是放在后台(提供API接口),还有一个是放在开放云服务上(如 SyncAdapter 会是一个不错的选择). 对于第一种方式,即本地数据存储,如嵌入式 SQLite,你可以选择直接使用SQL语句、Content Provider 或 ORM(对象关系数据映射).

看完不懂,你拍我——ORM框架中的对象状态

- - CSDN博客架构设计推荐文章
        不论是EJB3.0还是Hibernate,他们统称为ORM框架. 虽然每个框架对对象的状态都有自己的理解,但是都免不了有共性的东西.         在Hibernate中,对象的状态分为Transient、Persist、Detached,而在EJB中有四种状态,分别为:New、Managed、Detached、Removed.

Android工具库xUtils1.9.8发布-orm性能优化,图片加载优化...

- - 开源中国社区最新新闻
感谢关注xUitls的网友最近一段时间给予的热心反馈,xUtils近期做了很多细节优化之后,功能和api已经稳定.         1.9.8主要更新内容:.         * orm模块添加列类型转换接口,支持自定义类型字段作为列映射;.         * bitmap模块优化默认参数,取消默认动画,加载更快速.

android应用框架

- - CSDN博客移动开发推荐文章
原文地址:http://developer.android.com/guide/components/fundamentals.html. android应用程序一旦装进设备,每个程序会在它自己安全的沙盒里运行. 1.android操作系统是一个多用户linux系统,每一个应用程序是一个用户. 2.默认情况下,系统会为每个app分配唯一的linux用户id(这个id只会被系统使用,并且只会被这个app知道),系统为每个app的所有文件都设置了权限,只有被分配了这个app用户ID的程序可以访问它.

文章: MongoDB、Java及ORM

- - InfoQ cn
目前有很多互相竞争的NoSQL产品,它们使用的方式不尽相同,但都能很好地解决大数据问题. MongoDB就是其中一款非常不错的产品. MongoDB是面向文档、无Schema的存储解决方案,它用JSON风格的文档展现、查询、修改数据. MongoDB有很丰富的文档,安装和设置都很简单,而且易于扩展.

一些android开源框架

- - CSDN博客推荐文章
在目前软件开发行业中,流行着这么一句话“天下武功,唯快不破”. 而“快”,就不能让我们重复去制造论坛,不能去重新发明轮子. 目前开源界中已经有很多成熟的,得到了大量商用的开源软件和框架,我们就可以借鉴这有优秀的资源,才能在这个节奏速度的社会中博得一丝生存的机会. 我收集整理了一些优秀的android开源框架,希望能对android软件开发的朋友一点的帮助.

Android 程序框架设计

- - 互联网的那点事
每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心. 通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作. 设计模式是在某种特别的情况下,针对某种问题的某种典型、通用的解决方法. 我们是需要适当了解并学习一些设计模式,在程序开发过程中,总是会涉及到一些框架设计,模块设计之类的东西,如果能很好理解并运行设计模式,你所设计的模块或框架将会要稳定得多,因为这些设计模式它们都是通用的解决方案,是经过实践经验了的.

Android Otto框架浅析

- - CSDN博客移动开发推荐文章
今天要介绍的是一个Android中使用得比较多的android 事件总线 EventBus模式的一个框架Otto. Otto 官网: http://square.github.io/otto/. 一、Android Studio中配置Otto (Eclipse中直接下载jar包导入). 跟之前介绍的其他的框架一样,它只需要简单地在build.gradle中配置下面一行红色字体即可.

2015推荐的Android框架

- - CSDN博客推荐文章
一、Guava Google的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API可以使你的JAVA代码更加优雅,更加简洁..