软件简介

一个简单的基于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 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 userList = userDAO.query("user_name=? and weight > ?", "darcy" , "60");

//分页查询

PagingList 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();

缺点和不足:

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

没支持联合主键

没支持表的外键设计

其他…

实例:

android创建数据库封装,SQLiteUtils相关推荐

  1. Android -- 创建数据库到SD卡

    SQLite 系统自带的SQLite是通过SQLiteOpenHelper实现的,而SQLiteOpenHelper是将数据库存储到/data/data/包名/databasas,这样做的话在没有ro ...

  2. android 建数据库 SQLite 存储sd 卡或者内存

    android 创建数据库调用SQLiteOpenHelper,一般不直接操作SQLiteDatabase . 是通过SQLiteOpenHelper来获取 public class DBOpenHe ...

  3. Android Studio 使用SQLite数据库来创建数据库+创建数据库表+更新表再次往表添加字段

    目录 一.前言 二.SQLite数据库介绍 1.什么是SQLite数据库 2.特点 3.SQLite 操作API 4.SQLite数据类型 三.SQlite数据库的使用 1.创建类继承SQLiteOP ...

  4. Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】

    2020-04-09-星期四-第八周 目   录 创建数据库 insert()方法 查看数据库(Save as保存) 菜鸟教程---SQLite数据库 根据 列索引 获取 参数值 列比较多---根据列 ...

  5. Android studio 关于SQlite数据库导出,创建数据库、表以及如何查看操作

    1.首先,你要确定你的模拟器或手机已经Root,若没有,在你的android SDK的platform-tools目录下打开shell命令行· 如,我的是:C:\Users\10378\AppData ...

  6. android 本地数据库sqlite的封装

    单机android   sqlite数据库的实现,这个数据库可与程序一起生成在安装包中 一.下载sqlite3.exe文件 二.运行 cmd 转到sqlite3.exe 所在目录  运行 sqlite ...

  7. android手动创建数据表,Android开发—数据库应用—手动创建(SQLite)数据库--手动创建数据表(table)...

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:数据库应用-手 ...

  8. Android Studio 安卓创建数据库

    示例创建数据库的类,并创建增加.查询.删除用户信息的方法,在其他类直接调用即可 public class UserDB {SQLiteDatabase writableDatabase; //声明操作 ...

  9. Android ---创建APP数据库

    APP的数据库创建需要自己编写个方法 创建数据库的方法如下: /*** 创建数据库*/ public class MyDatabaseHelper extends SQLiteOpenHelper { ...

  10. android SQLite数据库(转)

    Android数据库 之 SQLite数据库 Android数据库  一.关系型数据库SQLIte 每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的.与操作系统无关的 ...

最新文章

  1. IOS--常用类--NSArray
  2. Nginx — Overview
  3. MAGIX Photostory Deluxe 2021中文版
  4. 亲情奉献一些搜集的网站
  5. Android ListView headerDividers 分割线显示隐藏问题
  6. 占内存小的qq_手机内存空间告急,这些办法就能轻松搞定!
  7. Code Review效率低?来试试智能语法服务
  8. 关于.Net2.0下配置架构的使用
  9. python实用的几个脚本程序(自己在用)
  10. 不同林间域账号密码迁移
  11. CPU vs. GPU
  12. XP计算机屏蔽vac系统,网吧屏蔽VAC一键修复——V1.1by RiCkY
  13. 养胃有道——送给胃不好的人
  14. # Python第一节课
  15. Java:使用Java编写一个随机点名器
  16. 五款轻便的远程控制软件
  17. 南京邮电大学计算机学硕2021,南京邮电大学2021年硕士研究生拟录取名单
  18. SpringBoot 使用Ffmpeg合并视频
  19. ansi编码转换器安卓版_ansi编码批量转换器
  20. 如何评价广告营销效果

热门文章

  1. mysql query profiler_Using the New MySQL Query Profiler
  2. 对于PHP面试知识点的小结
  3. 网易七鱼 Android 高性能日志写入方案
  4. STS热部署,springboot项目中修改代码不用重新启动服务
  5. imageNamed、imageWithContentsOfFile、imageWithData
  6. [转载]Oracle Minus关键字
  7. HTML5学习笔记简明版(1):HTML5介绍与语法
  8. 前后端分离项目的session问题
  9. rocketmq云服务搭建踩坑
  10. MySQL8.0 - 新特性 - 临时表改进 1