DBFlow数据库的简单使⽤(增删改查)第⼀步:
在项⽬下的adle中添加
maven{url"jitpack.io"}
第⼆步:
在app下的adle下添加:
annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:4.1.2"
// gradle 3.0.0 可以使⽤ implementation,否则⽤ compile
implementation "com.github.Raizlabs.DBFlow:dbflow-core:4.1.2"
implementation "com.github.Raizlabs.DBFlow:dbflow:4.1.2"
第三步:
创建数据库:Databa
@Databa(version = DataBa.VERSION)
public class DataBa {
public static final int VERSION=1;
}
创建表:Product
@Table(databa = DataBa.class)
public class Product extends BaModel{
@PrimaryKey(autoincrement = true)
public long id;
@Column
public String name;
@Column
public long price;
}
第四步:
增删改查:CurdUtils
package h.dbflow.Utils;
import h.dbflow.Table.Category;
import h.dbflow.Table.Product;
import h.dbflow.Table.Product_Table; import com.raizlabs.fig.FlowManager;
import com.raizlabs.android.dbflow.sql.language.SQLite;
import java.util.List;
public class CrudUtils {
//添加
public static void inrt() {
//⽅法⼀
Product product = new Product();
product.name = "yy";
product.save();
//对没有继承BaModel的实体
//⽅法⼀
Product product1 = new Product();
product1.name="yy";
//⽅法⼆
SQLite.inrt(Product.class)
围棋学习
.columnValues(Product_Table.name.eq("yy"))
.execute();
}
//删除
public static void delete() {
//⽅法⼀先查后删除
Product product = SQLite.lect()
.from(Product.class)
.where(Product_Table.name.eq("yy"))
.querySingle();
if (product!=null){
product.delete();
}
//⽅法⼆直接删除
//⽅法⼆直接删除
SQLite.delete(Product.class)
.where(Product_Table.name.eq("yy"))
.
execute();
}
//修改
public static void update() {
//⽅法⼀先查后改
Product product = SQLite.lect()
.from(Product.class)
.where(Product_Table.name.eq("yy"))
.querySingle();//区别于queryList(),返回的是实体if (product != null) {
product.name = "yy1";
product.update();
}
//⽅法⼆直接修改
SQLite.update(Product.class)
六月丁香网站.t(Product_Table.name.eq("yy1"))
.where(Product_Table.name.eq("yy"))
.execute();
}
//查询全部
public static List<Product> lectAll() {
//⽅法⼀
List<Product> products = SQLite.lect()
.
from(Product.class)
库佳>高中优秀作文.where()
// .orderBy(Product_Table.id,true)//按照升序
// .limit(5)//限制条数
.queryList();//返回的list不为空,但是可能为empty return products;
绿如蓝
}
八仙齐拜年
//查询单个
public static Product lectOne() {
Product product = SQLite.lect()
.from(Product.class)
.where(Product_Table.name.eq("yy"))//条件
.
querySingle();//返回单个实体
return product;
}
}
第五步:
⼊⼝:MainActivity
package h.dbflow;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
东方光驱魔术师import com.raizlabs.fig.FlowManager;
import static h.dbflow.Utils.CrudUtils.inrt; import static com.imageswitchvi
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
tContentView(R.layout.activity_main);
FlowManager.init(this);//应⽤启动时,⾸先初始化
//执⾏增删改查
inrt();
/
/ delete();
梭罗瓦尔登湖
// update();
// lectOne();
// lectAll();
}
}
demo简单,请见谅!