LitePal之建立和升級資料庫
LitePal是一款開源的Android資料庫框架,它採用了物件對映(ORM)的模式,並將我們平時開發最常用到的一些資料庫功能進行了封裝,使得不用編寫一行SQL語句就可以完成各種建表和增刪改查的操作。
要使用LitePal的第一步,我們需要在app/build.gradle檔案中宣告該開源庫的引用,最新的版本可以去這裡查詢。編輯app/build.gradle檔案,在dependencies閉包中新增如下內容:
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0'新增的這一行宣告,前面部分是固定的,最後的1.6.1是版本號的意思,最新的版本號可以去LitePal的專案主頁上去檢視。implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' implementation'org.litepal.android:core:1.6.1'}
這樣我們就把LitePal成功引入到專案中了,接下來需要配置litepal.xml檔案。右擊app/src/main目錄--->New--->Directory,建立一個assets目錄,然後在assets目錄下再新建一個litepal.xml檔案,接著編輯litepal.xml檔案中的內容,如下:
<?xml version="1.0" encoding="UTF-8" ?> <litepal> <dbname value =其中,<dbname>標籤用於指定資料庫名,<version>標籤用於指定資料庫版本號,<list>標籤用於指定所有的對映模型,最後還需要再配置一下LitePalApplication,編輯AndroidManifest.xml中的程式碼,如下:"BookStore"></dbname> <version value = "1"></version> <list></list> </litepal>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activitytest"> <application android:name="org.litepal.LitePalApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>這裡我們將專案的application配置為org.litepal.LitePalApplication,這樣才能讓LitePal的所有功能都可以正常工作,現在LitePal都已經配置好了,現在我們就可以用它了。
剛才在介紹的時候已經說過了,LitePal採取的是物件關係對映(ORM)的模式,那麼什麼是物件關係對映呢?簡單點說,我們使用的變成語言是面嚮物件語言,而使用的資料庫則是關係型資料庫,那麼將面向物件的語言和麵向關係的資料庫之間建立一種對映關係,這就是物件關係對映,首先,我們定義一個Book類,程式碼如下:
public class Book { private int id; private String author; private double price; private int pages; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getPages() { return pages; } public void setPages(int pages) { this.pages = pages; } public String getName() { return name; } public void setName(String name) { this.name = name; } }這是一個典型的Java bean,在Book類中我們定義了id,author,price,pages,name這幾個欄位,並生成了相應的get()和set()方法,Book類就會對應資料庫中的Book表,而類中的每一個欄位分別對應了表中的每一個列,這就是物件關係對映最直觀的體驗。
接下來我們還需要將Book類新增到對映模型列表當中,修改litepal.xml中的程式碼,如下:
<?xml version="1.0" encoding="UTF-8" ?> <litepal> <dbname value = "BookStore"></dbname> <version value = "1"></version> <list> <mapping class= "com.example.activitytest.Book"></mapping> </list> </litepal>這裡使用<mapping>標籤來宣告我們要配置的對映模型類,注意一定要使用完整的類名,不管有多少模型類需要對映,都使用同樣的方式配置在<list>標籤下即可。
沒錯,這樣就已經把所有工作都已經完成了,現在只要進行任意一次資料庫的操作,BookStore.db資料庫應該就會自動創建出來,修改activity_main.xml中的程式碼,如下:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.activitytest.MainActivity"> <Button android:id="@+id/create_database" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Create_databse" android:textAllCaps="false"/> </android.support.constraint.ConstraintLayout>佈局很簡單,就是加入一個按鈕,用於建立資料庫,最後修改MainActivity中的程式碼,如下:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button createDatabase = findViewById(R.id.create_database); createDatabase.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Connector.getDatabase(); } }); } }其中,呼叫Connector.getDatabase()方法就是一次最簡單的資料庫操作,只要點選一下按鈕,資料庫就會自動建立完成了,執行一下程式,然後點選Create database按鈕,我們還是通過終端命令,進入/data/data/com.example.activitytest/databases/目錄下,如圖:
非常棒,資料庫檔案已經建立成功了,接下來我們使用sqlite3命令開啟BookStore.db檔案,然後再使用.schema命令來檢視建表語句,如圖:
可以看到,這裡有3張表的建表語句,其中android_matadata表任然不用管,table_schema表是LitePal內部使用的,我們也可以直接忽視,book表就是根據我們定義的Book類以及類中的欄位來自動生成的了。
public class Book { ... private String press; ... public String getPress() { return press; } public void setPress(String press) { this.press = press; } }與此同時,我們還想再新增一張Category表,那麼只需要新建一個Category類就可以了,如下:
public class Category { private int id; private String categoryName; private int categoryCode; public void setCategoryName(String categoryName) { this.categoryName = categoryName; } public void setCategoryCode(int categoryCode) { this.categoryCode = categoryCode; } }改完了所有我們想改的東西,只需要記得將版本號加1就行了,當然由於這裡還添加了一個新的模型類,因此也需要將它新增到對映模型列表中,修改litepal.xml中的程式碼,如下:
<?xml version="1.0" encoding="UTF-8" ?> <litepal> <dbname value = "BookStore"></dbname> <version value = "2"></version> <list> <mapping class= "com.example.activitytest.Book"></mapping> <mapping class= "com.example.activitytest.Category"></mapping> </list> </litepal>現在重新執行一下程式,然後點選Create database按鈕,再檢視一下最新的建表語句,結果如圖:
相關推薦
LitePal之建立和升級資料庫
LitePal是一款開源的Android資料庫框架,它採用了物件對映(ORM)的模式,並將我們平時開發最常用到的一些資料庫功能進行了封裝,使得不用編寫一行SQL語句就可以完成各種建表和增刪改查的操作。 要使用LitePal的第一步,我們需要在app/build.gradle
Oracle資料庫之建立和管理表
Oracle資料庫總結: 建表語法: create table tablename (columnname datatype, ..............) [with option] [as sql語句]; SQL> create tab
SQL Sever實驗一 建立和刪除資料庫資料表
一. 實驗目的 1. 熟悉SQL Server 2008 中SQL Server &n
《SQL 學習指南》(第 3 版)學習筆記(2) - 第 2 章 建立和使用資料庫
2.1 建立 MySQL 資料庫 (如果要匯入示例 .sql 指令碼檔案,除了書上的 8 個步驟,我另外做幾點修正和補充: a. P 14 面倒數第 4 行給的連結失效了,正確的連結:https://resources.oreilly.com/examples/9780596007
建立和配置資料庫
1.進入mysql中建立資料庫 2.Django的資料庫配置 在settings.py中配置資料庫的資訊 DATABASES = { 'default':{ 'ENGINE':'django.db.backends.sqlite3', 'NAME':os.
DS二叉排序樹之建立和插入
DS二叉排序樹之建立和插入 時間限制: 1 Sec 記憶體限制: 128 MB 【Java有三倍的時間和記憶體限制】 題目描述 給出一個數據序列,建立二叉排序樹,並實現插入功能 對二叉排序樹進行中序遍歷,可以得到有序的
Oracle 之建立和管理表
Oracle 之建立和管理表 常見的資料庫物件: 物件 描述 表 基本的資料儲存集合,由行和列組成 檢視 重表中抽出的邏輯上相關的資料集合 序列
SQL語法之建立和管理表
一、建立資料庫 # 建立資料庫,選擇具體的庫 #建立資料庫 CREATE DATABASE temp; #顯示當前使用者下的資料庫 SHOW DATABASES; # 使用某個具體的資料庫,”使用
Hyperledger-composer之安裝和升級業務網路
一、使用Yeoman建立業務網路骨架 yo hyperledger-composer:businessnetwork 二、修改模型檔案(.cto)、鏈程式碼邏輯檔案(logic.js)、輔助查詢檔案
SqlServer--用程式碼建立和刪除資料庫和表
建立資料庫,建立表,設定主鍵 資料庫的分離和附加 MS SQLServer的每個資料庫包含: 1個主資料檔案(.mdf)必須。 1個事務日誌檔案(.ldf)必須。 可以包含: 任意多個次要資料檔案(.ndf) 多個事務日誌檔案 檔案組:可將多個數據檔案邏輯的分到一組,方便日後管理維護(備份、將表建
D3D12渲染技術之建立和啟用紋理
紋理在任何引擎都有使用,它其實就是為模型提供的紋理材質,既然我們介紹的是D3D12,那就從dds檔案介紹說起。 載入DDS檔案 但是,程式碼僅支援DirectX 11,我們修改了DDSTextureLoader.h / .cpp檔案併為DirectX 12提供
臺賬建立和sqlite資料庫的資料匯入
cd D:\sqlite_files\sqlite-tools-win32-x86-3230100 執行 sqlite3 device.db 出現sqlite>退出命令 .quit D:\sqlite_files\sqlite-tools-win32-x86-3230100>sqlite
SQL語句基礎1:建立和刪除資料庫,建表,插入資料並加入適當約束
1.建立圖書管理資料庫 create database bookManager on ( name=bookManager_data, filename='D:\SQL\bookManager_data.mdf', size=5MB, maxs
SQL_3th_T-SQL語句建立和刪除資料庫、新增和刪除約束
在SQL Server 2008 R2中點選新建查詢,輸入如下程式碼,選中程式碼段,並點選執行,就能執行選中區域程式碼: --使用數T-SQL語句來建立資料庫 create database Students on ( name='Students', --這是資料檔案的邏
Ubuntu下Python建立和連線資料庫
[email protected]:~# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connecti
Asp.net WebForm使用codeFirst建立和修改資料庫小結
在asp.net4.5框架下使用codeFirst新增和修改資料庫檔案小結。 建立: 1、建立模型類 2、In Package Manager Console, run the command:enable-migrations -ContextTypeName ContosoUniversityModelB
2.建立和刪除資料庫例項
如何建立 開啟 database configuration Assistant (選擇建立資料庫,選擇一般用途,起一個數據庫名,設
Oracle入門(十四.22)之建立DDL和資料庫事件觸發器
一、什麼是DDL和資料庫事件觸發器?DDL語句觸發DDL觸發器:CREATE,ALTER或DROP。資料庫事件觸發器由資料庫中的非SQL事件觸發,例如:•使用者連線到資料庫或與資料庫斷開連線。•DBA啟動或關閉資料庫。•使用者會話中引發了特定的異常。(1)在DDL語句中建立觸
使用GreenDao建立表、關聯表(一對一,一對多,多對多)、CURD、升級資料庫等操作
應用場景:從照片中找出包含有使用者人臉的照片,並儲存該照片中的人臉特徵、使用該特徵和使用者人臉特徵對比,滿足條件,照片就儲存到該使用者表裡 一、建立表 GreenDao託管地址:https://github.com/greenrobot
一、MySQL資料庫之簡介和安裝
一、基礎部分 1.資料庫是簡介 之前所學,資料要永久儲存,比如使用者註冊的使用者資訊,都是保存於檔案中,而檔案只能存在於某一臺機器上。 如果我們不考慮從檔案中讀取資料的效率問題,並且假設我們的程式所有的元件都執行在一臺機器上,那麼用檔案存