请尽量使用最新版本,使用过程中如有任何问题可以给我发送邮件924666990@qq.com
allprojects { repositories { maven { url "https://jitpack.io" } } }
dependencies {
implementation 'com.github.JackWHLiu.jackknife:jackknife-orm:4.8.6' //jackknife数据存储库
implementation 'com.github.JackWHLiu.jackknife:jackknife-widget:4.8.6' //jackknife自定义控件库
implementation 'com.github.JackWHLiu.jackknife:jackknife-util:4.8.6'//jackknife工具库
implementation 'com.github.JackWHLiu.jackknife:jackknife-av:4.8.6'// jackknife音视频库
}
继承com.lwh.jackknife.app.Application,并在Application中完成初始化,如果你使用2.0.15+的版本,就当我没说。因为从v2.0.15开始不再需要使用继承的方式。最后调用Orm.init(OrmConfig)完成初始化配置;//调用Orm的init方法
如果你想使用jackknife-orm自动创表,你只需要实现OrmTable接口再配置一些基本信息即可。 需要注意的是,在一个OrmTable的实现类中,至少要有一个配置主键或外键的属性。
配置你要映射的表名
配置你要映射的列名,静态属性会被自动忽略,无需配置Ignore注解,例如Parcelable的CREATOR必须为static的,所以不需要配置Ignore
配置你要跳过映射的列名
配置主键
配置检查条件
配置默认值
配置唯一约束
配置非空约束
以User为例,TableManager.createTable(User.class);//创建OrmTable的实现类的表,创表一般在初始化配置时完成,因为这样可以在表结构改变时,自动更新。 如果在第一步中使用了OrmConfig的创表配置config.tables(),则不需要此步骤。
如果要保证事务提交,请使用Transaction#execute(Worker worker),然后使用OrmDao中带safety后缀的API
从4.3.5版本开始支持数据库表字段重命名,更新OrmTable结构后,务必在初始化配置的时候提升db版本。
首先要获取到操作该表的DAO对象,以User为例 OrmDao<User> dao = DaoFactory.getDao(User.class);
名称 | 所在类 | 描述 |
---|---|---|
insert(T bean) | OrmDao | 单条插入,插入一条数据 |
insert(List<T> bean) | OrmDao | 多条插入,插入一些数据 |
deleteAll() | OrmDao | 删除所有数据 |
delete(WhereBuilder builder) | OrmDao | 按条件删除数据 |
delete(T bean) | OrmDao | 删除特定数据 |
update(WhereBuilder builder) | OrmDao | 按条件修改数据 |
update(T bean) | OrmDao | 更新特定数据 |
selectOne() | OrmDao | 查询第一条数据 |
selectOne(QueryBuilder builder) | OrmDao | 查询最符合条件的一条数据 |
select(QueryBuilder builder) | OrmDao | 按条件查询数据 |
selectAll() | OrmDao | 查询所有数据 |
selectCount() | OrmDao | 查询数据的条数 |
selectCount(QueryBuilder builder) | OrmDao | 查询符合条件数据的条数 |
createTable(Class<? extends OrmTable> tableClass) | TableManager | 创建一张表 |
dropTable(Class<? extends OrmTable> tableClass) | TableManager | 删除一张表 |
upgradeTable(Class<? extends OrmTable> tableClass) | TableManager | 升级一张表 |