MiniOrm-For-Android极简智能的 Android Orm 框架
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 -
评论