MiniOrm-For-Android - 极简智能的 Android Orm 框架


未知
跨平台
Java

软件简介

MiniOrm-for-Android是什么?

MiniOrm-for-android 是一款简单,只能,灵活的android
ORM框架,完全基于对象进行操作。主要帮助android程序员的快速开发。通过反射将查询的数据智能的转换成 Entity 。省去开发人员手动解析的时间。

功能特点:

  • 小巧,类库大小27k

  • 快速,10000条数据,时长3.6秒

  • 使用简单,支持实体类注解方式,除了实体类之外只需创建一个DAO就可以进行操作。

  • 支持原声的sql语句操作

  • 耦合性低

结构模型:

  • 类关系图:

纯java结构设计,通过接口的设计,将上层业务和实际操作数据库的部分进行分离,开发者可以在此基础上自行实现mysql等数据的支持。下面是java部分核心设计

接入类库:

在项目的程序目录build.gradle中加入

dependencies {
     compile 'com.ml.miniorm:miniorm:1.1.8'
 }

基本方法:

创建表:

StuDao stuDao=new StuDao();
stuDao.createTable();

新增:


Student student=new Student();
 student.setAge(2);
 student.setStuName("王小明");
new StuDao().save(student);

删除:* *


 //1. 根据主键删除student.setId(2);new StudentDao().delete(student);


//2.根据其他属性删除
student.setStuName("kkkk");
    student.setAge(2);
stuDao.delete(student);


//3.删除全部
stuDao.deleteAll();

更新:

 // (注意,需指定ID)
student.setId(2);
student.setStuName("kkkk");

stuDao.update(student);

查询:

//全部
List<Student> list=stuDao.queryAll();


//query  by id

stuDao.queryById(1)||stuDao.queryById(“1”




#### 
    精确条件查询






##### 
    [](https://github.com/MengLeiGitHub/miniOrm-for-android#可以写sql语句-然后直接调用方法)可以写sql语句 然后直接调用方法

















teacherDao.executeQuery("select * from usertable",teacherDao.getQueryEntity(),teacherDao.getReflexEntity() );

调用QueryBuilder

//查询 全部 性别为 女
    List listaaa=teacherDao.getQueryBuilder().callQuery().queryAll().where(Where.handle().eq("sex","女")).executeQueryList();



List<Teacher> listaaa=teacherDao.getQueryBuilder().callQuery().queryAll().where(Where.handle().and("sex","=","女")).executeQueryList();


//模糊查询
List<CustomerBean> list = customerBeanDao.getQueryBuilder().callQuery().queryAll().where(Where.handle().and("userName", "    like  ", "%"+tiaojian+"%").or().and("company", "  like  ", "%"+tiaojian+"%").or().and("nickname", "  like  ", "%"+tiaojian+"%")).executeQueryList();
//对应的 sql  select  * from   CustomerBean  where   userName    like  '%你曾%'   or   company  like  '%你曾%'   or   nickname  like  '%你曾%' ;


//根据主键分页
int lastid = teacherDao.queryLastInsertId();
String table = teacherDao.getReflexEntity().getTableEntity().getTableName();
String column = teacherDao.getReflexEntity().getTableIdEntity().getColumnName();
List list1 = teacherDao.getQueryBuilder().callQuery().queryAll().where(Where.handle().and(column, "<=", lastid).and(column, ">", lastid -