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 -


浏览 27
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报