# xsql-core **Repository Path**: pichs/xsql-core ## Basic Information - **Project Name**: xsql-core - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-12-26 - **Last Updated**: 2021-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: ORM框架, 核心, 一行代码多一行你打我 ## README # XSql数据库框架 极致简单好用的ORM数据库框架
可自动升级,无需操心数据库升级带来的困扰,面对对像数据库操作 最新版本:[![](https://jitpack.io/v/com.gitee.pichs/xsql-core.svg)](https://jitpack.io/#com.gitee.pichs/xsql-core) ### 引用方式 // 核心包 其中已经包含xsql-base,可以不用重复引用 implementation 'com.gitee.pichs:xsql-base:1.1' implementation 'com.gitee.pichs:xsql-core:1.1' // 表字段映射类自动生成,可选 kapt 'com.gitee.pichs:xsql-maker:1.1' ### 一、 一行代码,无需创建乱七八槽的 dao var baseDao = XSql.getDBManager(this).getBaseDao(UserInfo::class.java) // 获取baseDao 举个栗子。 baseDao.insert(UserInfo) // 具体使用可以查看详情。 ### 二、 字段随意定,支持模糊,区间,分页,排序等常用查询。 1. XSqlTable: 定义表名的注解,不可为空 2. XSqlField: 定义字段名字的注解,不可为空,该字段必须为包装类。 不添加此注解的字段不添加到数据库。字段类型可随意。 仅支持以下7种,Integer,Long,Double,Float,Boolean, String,byte[] 本人以为这7种足以应对各种表,越简单,越好用。 3. XSqlPrimaryKey: 定义自增键的注解,必须为Long或Integer。与XSqlField一起用 4. XSqlUnique: 定义唯一值,与XSqlField一起用。 @XSqlTable("user_info") public class UserInfo { @XSqlField("name") public String name; @XSqlField("age") public Integer age; public UserInfo() { } public UserInfo(String name, Integer age) { this.name = name; this.age = age; } @Override public String toString() { return "{" + "name='" + name + '\'' + ", age=" + age + '}'; } } ## 增删改查,一行搞定。 - 增删改查,是重中之重,所以详细介绍使用方式和规则。 ### 增 1. insert(T entity): 添加一条数据 规则限制: 优先以XSqlPrimaryKey查询,其次XSqlUnique, 都没有 就以其他结果合并查询。 2. insertInTx(List entities):批量添加数据 ### 删 1. delete(T entity): 删除匹配相同的数据
(规则限制,对象内所有属性为空时不删除任何数据,保证一定的安全性。) 2. delete(Where where): 根据条件删除
(规则限制条件为空时不删除任何数据) 3. deleteAll(): 删除所有数据 ### 改 1. update(T entity): 更新数据: (规则限制:必须满足有 唯一建或者自增id且不为null 的情况下有效。) 因为没有唯一建,无法知晓到底根据哪个字段更新更新哪些字段的数据。 全排列查询效率低下,此种情况建议使用条件更新 (2.) 2. update(Where where, T entity): 条件更新 (规则限制,where不可为null且条件必须有个一判断。entity中必须至少有一个字段的值不为null) ### 查 1. query(T entity): 根据entity查询数据 (规则限制:entity中必须至少有一个字段的值不为null) 规则优先级: 优先以XSqlPrimaryKey查询,其次XSqlUnique, 都没有就以其他结果合并查询。 2. query(Where where): 条件查询 如果普通的查询无法满足你的需求,那么就是用条件查询吧,各种花里胡哨的条件查询都有。 3. queryAll(): 查询所有