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

联合创作 · 2023-09-30 02:06

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”

精确条件查询

可以写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 -
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报