# NBOrm **Repository Path**: gentlemanyc/NBOrm ## Basic Information - **Project Name**: NBOrm - **Description**: No description available - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-06-14 - **Last Updated**: 2023-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NBOrm #### 介绍 基于sqlite的数据映射类库。 #### 软件架构 - NBDao.java,数据插入 - Query.java,数据查询 #### 引入 项目的build.gradle添加 ``` allprojects { repositories { ... maven { url 'https://jitpack.io' } } } ``` 在模块中引用 ` implementation 'com.gitee.gentlemanyc:NBOrm:1.0.7'` #### 使用 - 数据模型,标明主键 ``` /** * 数据模型 */ public class Student { /** * 主键需要用@TableId注解来标识,默认自增 */ @TableId public int id; public String studentName; public Student(String studentName) { this.studentName = studentName; } } ``` - 插入对象到数据库中 ``` NBDao.save(Student("张三"))//仅需一行代码 ``` - 查找单个记录 ``` val student = Query( Student::class.java, arrayOf("studentName"), "studentName=? and id =?", arrayOf("张三", "0"), null, null, null, null ).unique() ``` - 批量插入 ``` //批量保存数据模型(数组、集合均支持) val array = arrayOf(Student("张三"), Student("李四"), Student("王五"), Student("赵四")) NBDao.saveAll(Student::class.java, array) ``` - 查找所有记录 ``` val studentList = Query(Student::class.java).list() ``` - 条件查询 ``` //查找studentName=张三的记录 Query( Student::class.java, arrayOf("studentName"), "studentName=?", arrayOf("张三"), null, null, null, null ).list().forEach { Log.i(TAG, "readRecord: $it") } ``` - 删除表 ``` TableHelper.getTableInfo(Student::class.java).dropTable() ```