오늘, 다른 사람들의 소스 코드를보고있을 때 실수로 매우 유용한 데이터베이스 아티팩트를 발견했습니다. 여기서 공유하겠습니다.
dbflow 란 무엇입니까?
DBFlow는 주석 조작을 사용하는 Android Sqlite ORM 용 도구 라이브러리입니다. 간단히 말해서 SQLITE 데이터베이스에서 작동하는 Java 라이브러리입니다.
중국어의 객체 관계 매핑으로 번역 된 ORM (Object-Relational Mapping)은 객체 지향적 인 데이터베이스와 관계형 데이터베이스 간의 불일치 현상을 해결하는 기술입니다. 간단히 말해서, ORM은 객체와 데이터베이스 간의 매핑을 설명하는 메타 데이터를 사용하여 프로그램의 객체를 관계형 데이터베이스에 자동으로 유지합니다.
왜 dbflow를 사용합니까?
1. 속도
주석 처리 (주석 프로세서)를 기반으로 코드 생성은 컴파일 시간에 생성되며 런타임 성능이 우수합니다. 멀티플렉싱 물체와 캐싱 메커니즘을 통해 좋은 속도 경험이 얻어집니다.
2. 확장 성
데이터 양식은 데이터 객체에 매핑되며 모델 클래스는 객체를 통해 상속됩니다. 일반적으로 말하면,베이스 모드 클래스를 물려 받고 클래스의 멤버들에게 주석을 추가하여 필요한 양식을 생성하는 것으로 충분합니다.
3. 쿼리 문
Greendao와 같은 다른 라이브러리를 사용한 경우 쿼리 문은 SQL 문과 매우 가깝습니다.
4. SQLITE를 기반으로합니다
플랫폼에는 제한이 없으므로 SQLITE가있는 곳에서 DBFlow를 사용할 수 있습니다.
5. 오픈 소스
소스 코드는 좋은 일이며 능력이있는 사람들은 그것을 확인할 수 있습니다. https://github.com/raizlabs/dbflow
dbflow를 사용하는 방법
환경을 구성하십시오
무엇을 배우고 싶은지에 관계없이 환경이 가장 중요합니다. 3 자 라이브러리의 첫 번째 단계는 클래스 라이브러리를 가져 오는 것입니다.
먼저 메인 빌드에 Maven 주소를 추가하십시오. Gradle :
AllProjects {repositories {maven {url "https://jitpack.io"}}} 둘째, 기본 클래스 모듈에 종속성을 추가하십시오.
코드 사본은 다음과 같습니다.
def dbflow_version = "4.2.4"종속성 {AnnotationProcessor "com.github.raizlabs.dbflow : dbflow-processor : $ {dbflow_version}"compile "com.github.github.github.github.github.github.github.github.github.github.github.github.github.github.github.github.github.github. "com.github.raizlabs.dbflow : dbflow-rx2 : $ {dbflow_version}"compile "com.github.raizlabs.dbflow : dbflow-rx2 : $ {dbflow_version}"compile "com.github.raizlabs.dbflow : dbflow-sqlcipher : $ {dbflow_version}"}
Kotlin 코드를 추가 해야하는 경우 위의 소스 코드 주소를 확인하고 아래 지침을 참조하십시오.
사용
응용 프로그램에 init를 추가하십시오
FlowManager.*init*(this);
데이터베이스를 만듭니다
@database (name = dbflowdata.*dbname*, version = dbflowdata.*version*) public class dbflowdata {public static final String*dbname*= "dbflowdata"; 공개 정적 최종 int *버전 *= 1; }주석 데이터베이스, 이름 데이터베이스 이름 버전 데이터베이스 버전을 사용하십시오
양식을 만듭니다
@table (database = dbflowdata.class) public class dbflowmodel은 basemodel {@primarykey (autoincrement = true) public int id; @Column Public String 이름; public int getid () {return id; } public void setid (int id) {this.id = id; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; }} 주석을 사용하여 테이블 데이터베이스 슬레이브 데이터베이스 개체, 양식 속성, 다양한 주석, 기본 키 1 차 키 및 Colum 열을 사용합니다.
참고 : 여기에 상속받은베이스 모드는 DBFlow에 의해 제공되며 상속받을 수 없습니다. 차이점은 추가, 삭제, 수정 및 검색 측면에서만 다릅니다.
생성 후 Build-> Make를 클릭하면 필요한 코드가 ../build/generated/source/apt/debug에서 생성됩니다.
끼워 넣다:
양식 개체 생성 값을 할당 한 후 저장 메소드를 호출하여 작업을 삽입하십시오.
코드 사본은 다음과 같습니다. dbflowmodel dbflowmodel = new dbflowmodel (); dbflowmodel.name = 이름; dbflowmodel.save ();
삭제:
작동 할 SQL 문과 유사한 코드
sqlite.*delete*() .from (dbflowmodel.class). 어디서 (dbflowmodel_table.*id*.eq (id), dbflowmodel_table.*name*.eq (name)) .execute ();
질문:
여기에는 많은 복잡한 쿼리 작업이 있습니다. 더 알고 싶다면 공식 문서를 읽으십시오.
코드 사본은 다음과 같습니다. list <dbflowmodel> list = sqlite.*select*(). from (dbflowmodel.class) .queryList ();
고쳐 쓰다:
그들은 모두 비슷합니다.
sqlite.*update*(dbflowmodel.class) .set (dbflowmodel_table.
참고 : 새 양식을 작성한 후에는 데이터베이스 버전을 업그레이드해야합니다. 그렇지 않으면 오류 가보고됩니다.
여기서는 주로 유용한 것들을 공유하고 녹음하기위한 DBFlow의 기본 사용을 소개합니다.
소스 코드 : https://github.com/xiaogoudandan/williamapp
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.