SQLiteUtils

Android Sqlite 数据库操作封装
授权协议 Apache
开发语言 Java
所属分类 数据库相关、 数据库调整和优化
软件类型 开源软件
地区 国产
投 递 者 穆正青
操作系统 Android
开源组织
适用人群 未知
 软件概览

SQLiteUtils 是一个简单的基于Android的Sqlite数据库的操作封装,它有如下的好处:

  • 便捷地创建表和增添表字段

  • 灵活的数据类型处理

  • 通过操作对象来insert或者update表记录

  • 支持多种查询方式,支持多表自定义的复杂查询,支持分页查询

  • 支持事务

快速开始:

    1. 设计表:

@Table(name="t_user")
public class UserModel {
    @Table.Column(name="user_id",type=Column.TYPE_INTEGER,isPrimaryKey=true)
    public Integer userId;

    @Table.Column(name="user_name",type=Column.TYPE_STRING,isNull=false)
    public String userName;

    @Table.Column(name="born_date",type=Column.TYPE_TIMESTAMP)
    public Date bornDate;

    @Table.Column(name="pictrue",type=Column.TYPE_BLOB)
    public byte[] pictrue;

    @Table.Column(name="is_login",type=Column.TYPE_BOOLEAN)
    public Boolean isLogin;

    @Table.Column(name="weight",type=Column.TYPE_DOUBLE)
    public Double weight;
}

2. 初始化对象:

SQLiteDatabase db = context.openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);
DbSqlite dbSqlite = new DbSqlite(db);
IBaseDao<UserModel> userDAO = DaoFactory.createGenericDao(dbSqlite, UserModel.class);

3. 创建表:

userDAO.createTable();

 4. Insert 记录:

UserModel user = new UserModel();
user.userName = "darcy";
user.isLogin = true;
user.weight = 60.5;
user.bornDate = new Date();
byte[] picture = {0x1,0x2,0x3,0x4};
user.pictrue = picture;
userDAO.insert(user);

5. Update 记录:

UserModel user = new UserModel();
user.weight = 88.0;
userDAO.update(user, "user_name=?", "darcy");

6. 查询:

//单条结果查询
UserModel user = userDAO.queryFirstRecord("user_name=?", "darcy");

//一般查询
List<UserModel> userList = userDAO.query("user_name=? and weight > ?", "darcy" , "60");

//分页查询
PagingList<UserModel> pagingList = userDAO.pagingQuery(null, null, 1, 3);

7. 事务支持:

DBTransaction.transact(mDb, new DBTransaction.DBTransactionInterface() {
        @Override
        public void onTransact() {
            // to do        
        }
};

8. 更新表(目前只支持添加字段)

@Table(name="t_user" , version=2) //修改表版本
public class UserModel {
    //members above...

    //new columns

    @Table.Column(name="new_column_1",type=Column.TYPE_INTEGER)
    public Integer newColumn;

    @Table.Column(name="new_column_2",type=Column.TYPE_INTEGER)
    public Integer newColumn2;
}

userDAO.updateTable();

缺点和不足:

  • 还没支持多对一或者一多的关系

  • 没支持联合主键

  • 没支持表的外键设计

  • 其他...

实例:

SqliteLookup(Android内查看Sqlite数据库利器): https://github.com/YeDaxia/SqliteLookup

  •  Java操作sqlite数据库demo public static void main(String[] args) throws IllegalAccessException,InstantiationException { try { String filePath ="E:/Sqlite/sqlitedb.db";

  • 软件简介 一个简单的基于Android的Sqlite数据库的操作封装,它有如下的好处: 便捷地创建表和增添表字段 灵活的数据类型处理 通过操作对象来insert或者update表记录 支持多种查询方式,支持多表自定义的复杂查询,支持分页查询 支持事务 快速开始: 1. 设计表: @Table(name="t_user") public class UserModel { @Table.Column

  • 一个简单的基于 Android 的 Sqlite 数据库的操作封装,它有如下的好处: 便捷地创建表和增添表字段 通过操作对象来 insert 或者 update 表记录 支持多种查询方式,支持分页查询 支持事务 Quick Start: 定义表对应的对象,对于基本类型,请使用对象类型来声明类成员,如 int 用 Integer。以免在 update 的时候出现意想不到的情况。 @Table(nam

 相关资料
  • 本文向大家介绍Python3实现的Mysql数据库操作封装类,包括了Python3实现的Mysql数据库操作封装类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python3实现的Mysql数据库操作封装类。分享给大家供大家参考,具体如下: 这段代码需要注意几个地方: 1.数据库配置文件变量放在类外面,只在模块被载入的时候读一次,在使用数据库类时,无需再读取。这样有一个好处就是减少了IO

  • 本文向大家介绍PHP封装的PDO数据库操作类实例,包括了PHP封装的PDO数据库操作类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP封装的PDO数据库操作类。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《p

  • 数据库的操作是每个phpweb框架的核心功能,我们提供数据库数据库的标准调用模式为: 你可以执行严格模式,也就是左边的那条线,Controller->Service->Dao->Model->DB,也可以走简单模式 Controller->Model->DB。个人根据自己的需求,走标准麻烦些(几乎所有的机构和系统都是这样^_^), 但是扩展性会好些,但是使用简单模式开发效率就会高些,性能会好些,但

  • 这一小节是对数据库操作做一个简单的封装,不涉及复杂的事务操作等。 我选用了Sql2o作为底层数据库框架作为支持,它的简洁易用性让我刮目相看,后面我们也会写如何实现一个ORM框架。 /** * 数据库支持 * @author biezhi * */ public final class MarioDb { private static Sql2o sql2o = null;

  • 本文向大家介绍PHP模型Model类封装数据库操作示例,包括了PHP模型Model类封装数据库操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP模型Model类封装数据库操作。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大

  • 本文向大家介绍Golang对MongoDB数据库的操作简单封装教程,包括了Golang对MongoDB数据库的操作简单封装教程的使用技巧和注意事项,需要的朋友参考一下 前言 Golang 对MongoDB的操作简单封装 使用MongoDB的Go驱动库 mgo,对MongoDB的操作做一下简单封装 mgo(音mango)是MongoDB的Go语言驱动,它用基于Go语法的简单API实现了丰富的特性,并

  • NoSQL(Not Only SQL),指的是非关系型的数据库。随着Web2.0的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。 而Go语言作为21世纪的C语言,对NOSQL的支持也是很好,目前流行的NOSQL主要有redis、mongoD

  • 由于我们的框架目前只支持使用mysql,如果使用其他数据库,则不建议使用本框架。本节将介绍如何读取mysql数据库中的数据。 首先需要修改配置文件 App1/Config/Config.php   //默认Mysql数据库 'default_mysql_config' => 'mysql', //Mysql1数据库配置 'mysql' => array( 'host'  => 'localhost